There are three algorithms that re-use objects:
getAvailability re-uses a Promise and a PresentationAvailability
reconnect re-uses a PresentationConnection
navigator.presentation.receiver.connectionList re-uses a Promise and PresentationConnectionList
These steps need to specify the relevant settings object / Realm, instead of the current settings object/realm. Otherwise, badness ensues when they are invoked or accessed across browsing contexts. See [1] for an example of this with navigator.getBattery().
[1] https://www.w3.org/TR/html52/webappapis.html#realms-settings-objects-global-objects