Missing use of Config.
Added method to the pages module to get a location by the remote id.
Used the key of the array as the identifier to save repeating the same value.
Added charset to main layout.
Add any attributes which are in the definition, but not on the version. This can happen when new attributes are added the page type, but a new version hasn't yet been created.
Added the definition of the attribute as an attribute, which is then passed to the edit templates. This is helpful when the definition contains details required for rendering, e.g. options.
Added an 'Options' attribute, which is a dropdown with different options, specified in the definition.
Added a useful exception message when the attribute type is not found.