adds mediator base class
improves mapping API and adds injection convenience