restructure the solution based on the read side and write side
introducing ninject modules and configuration.
implement facade for expenses
work in progress on the write/dark side.
fix issue related with events being published before transaction was completed.
introduce in memory queue to keep track of the events being generated by a process.