MongoDBI's TODO list: * Add support for exporting 'Short Aliases' for loaded sub-classes from the Application sub-class code. * * That is if you have Foo::Model and Foo::Model::ClassName; then loading Foo::Model should export a sub that allows you to perform operations on ClassName without fully qualifying it. * Evaluate and add support for lazy-loading, if possible. Problems to consider: * * If every field, or sub-document, is lazy-loaded by default then this could cause unintuitive performance decreases when a user accesses multiple fields that all required database access. * * If lazy-loading is default then we need to add support for specifying which fields must be retrieved from the database when we fetch a new object. Presumably this would be at the point in the code where we execute the fetch, although potentially it could be "configured" in the Model file. * Fix existing bugs in the _dirty fields tracking implementation(?) and add support for doing smart things when tracking dirty fields in embedded/child documents. * * Bug 1: Modifying the elements of hashrefs stored as keys of the object will not cause the hashref itself to be marked as dirty and therefor updated, Tie::HashHistory may be a viable solution. * General overhaul of the documentation: * * Edit the 'store' method documentation to clarify that it doesn't access the database when you call save * * Clarify how the _dirty fields method works * * Add more examples to the "Main" documentation page that covers the vast majority of the useful classes and methods. * * Add more pointers to the ::Sugar documentation page. * * Clarify the documentation for multiple arguments being passed to the 'key' helper as well as how 'embed' and 'has_many' works.