it also check if context is canceld and if its so, it will not trying to send to it work function error. BREAKING CHANGE: it also takes now logr.Logger and stores it in the Dispatcher