Clean up value writing in preparation for a refactor.
Add some doc-blocks.
Start using an object to track model changes.
Privatize methods which no longer need publicizing.
Add magic isset() handler.
Add some basic tests for the entity.
Make sure to return $this to honour the same interface.
Follow similar method ordering as magic methods.
Rename unclear method name.
Remove Embedded models for now.
Add basic defaults for attributes.
Install doctrine.
Add basic expression handling.
Reshuffle props and make them available to subclasses.
Add a few more expression types.
Add composite expressions.
Match the expression interface.
Line up Expressions and Composite Expressions.
Rename methods for clarity.
Add factories for creating expressions.