hooks, (eventdispatcher), take 1
listeners in separate classes