event emitters everywhere, standard 'query' event
code consistency