Major refactoring of model objects.