Subscribe to fragment lifecycle and state events. Idempotent against the same fragment reference: calling attach twice without an intervening detach throws.