Introduce domain layer for specs