manager uses factory trait; let sm manage shared event