Introducing the 'storage' type. Allow reusing the same storage among types. Useful to reuse database connections. Allow multiple instances of the same storage type. Allow extension to add storage via storage hook.
Moving data collecting (from hooks and JSON files) from the Model to the Memory Storage, more specifically to the list() method.
Adding a reference to all data in the default memory storage, on the application class (Prana).
Fixing error handling on Model class and extension example.
A couple code comment fixes.
Simplifying flow control structures of core object handling methods.