- Entity & Collection refactoring, moves several code duplications to base class.
- Renames singleton getters.
- Adds interfaces to entity and collection.