The control object layer acts as the glue that holds together the business object and the code that populates the data into the report object. You must cater to the control object layer to ensure that the business and report objects remain independent of each other. The control object layer might exist in a number of formats—everything from a Visual Basic 5 class module to an ActiveX document. The ReportInExcel example later in this chapter (see page 147) illustrates the use of an ActiveX DLL as a control object layer.