FIX: Cleanup PresenceChannel instances when composer closed (PR #14741)

I was previously relying on this.isDestroying returning true during willDestroyElement. This was an incorrect assumption.

This commit refactors the logic into an explicit cleanup function, and also adds some cleanup for empty keys in the subscribedProxy array

GitHub