core changes: dispatcher and DI as services