Complete refactoring of the core in order to significantly improve the object model.