What is the framework composed of?

There are two Javascript classes, One.model.ModelFormContainer and One.model.ModelFormPanel, which drive the UI side. They make AJAX requests to the server to fetch a model's fields and its data, and execute actions. Hooks can be installed server-side by using a ModelResourceListener, which will be covered in a later section. It is intended that you subclass One.model.ModelFormContainer and use its properties to achieve the look and behavior you need. The main purpose behind ModelFormContainer is to manage instances of ModelFormPanel, which will be referred to as "pages".