Register a one listener for an event, fired only when the filter function returns true