                   #{cmd.typeName()}\n", cmd)
         eventSourceable = @_handleDomainErrors(->
           instance = new @eventSourceable(cmd.targetId)
-          @_injectDependencies(instance)
+          @injector.injectInto(instance)
           instance.handle(cmd)
           return instance
         )

    @log.info(@_logMsg("Handling event #{event.typeName()} for
                       #{@eventSourceable}<#{correlationId}>\n"), event)
    eventSourceable = @repository.find @eventSourceable, correlationId
    @_injectDependencies(eventSourceable)
    throw Router.ERRORS.cannotHandleMessage(event) if !eventSourceable?
    eventSourceable = @_handleDomainErrors(-> eventSourceable.handle event)
    @repository.save(eventSourceable) if eventSourceable?

    @log.info(@_logMsg("Handling command #{command.typeName()} for
                       #{@eventSourceable}<#{command.targetId}>"), command)
    eventSourceable = @repository.find @eventSourceable, command.targetId
    @injector.injectInto(eventSourceable)
    throw Router.ERRORS.cannotHandleMessage(command) if !eventSourceable?
    eventSourceable = @_handleDomainErrors(-> eventSourceable.handle command)
    @repository.save(eventSourceable) if eventSourceable?

  _logMsg: (message) -> "#{@configuration.appId}: #{this}: #{message}"

