Provides a domain layer and refactoring tools to get there.