retain instance during remote operation to avoid the edge case when the instance is destroyed before the remote operation concludes
better event listeners removal in safeEmit