A way of architechture a .NET application using CQRS and Inversion of Control (IoC)