Yes, you are correct:
it's up to the Data Adapter to manually track subscriptions with subscribe/unsubscribe and manually check them before each call of listener.update()

cheers
Marco