really 3-tier ASP.NET MVC application wuth loose coupling