Move composition logic inside query -- present uniform interface
Add filtering query patterns on event type