Converted to module

- Added Embedded Model/Collection support
- Refactored previous design