_resourceListeners(resource) {
        const onUpdate = (updatedResource) => {
            // 1. remove old resource
            this.urls.removeResourceId(updatedResource.data.id);

            // 2. free resource, the url <-> resource connection no longer exists
            updatedResource.release();

            // 3. post has the change to get owned from a different collection again
            debug('put back in queue', updatedResource.data.id);

            this.queue.start({
                event: 'added',
                action: 'added:' + resource.data.id,
                eventData: {
                    id: resource.data.id,
                    type: this.resourceType
                }
            });
        };

        const onRemoved = (removedResource) => {
            this.urls.removeResourceId(removedResource.data.id);
            removedResource.release();
        };

        resource.removeAllListeners();
        resource.addListener('updated', onUpdate.bind(this));
        resource.addListener('removed', onRemoved.bind(this));
    }
@description Helper function to register resource listeners.

I want to know if my resources changes.

If the owned resource get's updated, we simply release/free the resource and push it back to the queue.
This is the easiest, less error prone implementation.

Imagine you have two collections: `featured:true` and `type:page`.
If a published post status get's featured and you have not explicitly defined `featured:false`, we wouldn't
be able to figure out if this resource still belongs to me, because the filter still matches.