Added event bus, unit of work and tests