Fix bug with promises for embedded objects
Add promises for model lifecycle methods
Add tests and fix bugs for model promise lifecycle methods