Due to an optimization to prevent processing except when camera rooms changed, the ticking synchronization and updating of previous and current lists could get out of sync for affected objects, leading to missing gameplay notifications.
This PR adds new paths to properly support and synchronize objects in this "room based" path.
The gameplay monitor wasn't being unloaded correctly in between levels. This meant that exit signals were not being sent, and entered signals for the new level were being missed.
This PR sends appropriate exit signals on unloading, and clear the data.