Build a spreadsheet model for the interest and principal cash flows of a mortgage and then reimplement in VBA. Extend these models to include prepayments, based on a prepayment rate, say as percentage of remaining balance. A prepayment rate curve (because rates can change every period) is given as an input to the model. Convert this into a Mortgage class, similar to that described in this chapter. Note that class methods cannot be directly invoked from spreadsheet cells. Instead, a macro must be written in a “code” module that instantiates the class object and invokes the method.