For addition and removal, the registrations are deeply cloned to
allow the registrations to be iterated externally without
incurring the cost of synchronization.
NotificationFilterProxy wraps a real filter by the users to pass down
to the mbean server so that as notification emitters apply the filter, the
appropriate source can be set in the notification object before passing to the
real filter.