Abstract event manager

sharing event manager API
I don't think you need to prefix with conn_ I think it's fine to name it poll and then use ::operator to call from within function.