Split OnEvent(membership_event)
Splitting
OnEvent(membership_event)
into
OnMembershipAdded
OnMembershipRenewed
OnMembershipRemoved would be easier to read. (dispatch instead of match)