Deactivating object makes events null. What is the best workaround?

public delegate void HandworkAction();
public event HandworkAction grab;

After deactivating the object that contains the script, and reactivating it again, events become null, causing nullreference exception. Is this by any change a bug, why does this happen and what do you recommend me to do?

I am not an event guru , but that’s how I would do it :

  1. Subscribe to event during OnEnable().
  2. Unsubscribe from event during OnDisable().
  3. before invoking event check if it has subscribers.

Or use UnityEvent rather than a normal event, which should be easier and much more bug free.
Also I would define events as public static in a class made specifically for it.