WIP: refactored domain objects.