Created domain model and moved to its own project.