private function detachSharedListener($id, $listener, SharedEvents $sharedEvents)
{
if (method_exists($sharedEvents, 'attachAggregate')) {
// v2
$sharedEvents->detach($id, $listener);
return;
}
// v3
$sharedEvents->detach($listener, $id);
}