As I said below, how about dispatching "select" events to the map? In that we could reuse ol.MapEvent.