Filter
This avoids filtering against fields which cannot exist on an event source. E.g. presence updates don't have a room.