Refactored to use AbstractMembershipTrackingPolicy