Basic classes for domain layer (more will be added of course)