Fix up the reaper implementation, hopefully more robust but needs thought
Do not forget to send subscribers to the reaper