store and pass engine managers as shared_ptrs