Added domain layer and specs. Wired up IoC.