improves mediator API with better naming and promise signals handling