Replace Monitored(Exert|Task)Dispatcher with MonitoringControlFlowManager;
MonitorSession: allow RemoteEventListener to be null
ProviderProxy: tune exception handling;
remove some unused fields and methods