add router, refactoring event aggregator DI