+ Embedded class not found event
* Abstract out some base classes
* Reorder code of EmbeddedDocument for better readability
* Leave default value for embedded documents as-is instead of enforcing empty array