Properly tiered domain and data layers. Uses Ninject.Web.Common.cs (DI doesn't work yet)