Renamed ListenerHelper into RunnableListenerHelper and renamed CallbackHelper into ListenerHelper
This makes the naming more consistent, as I don't think I was really defining the distinction between a listener and a callback well enough.
Having runnable in the name for the now 'RunnableListenerHelper' also makes it clearer as to what it's design is for.

This also makes the interfaces more similar between them, possibly making it easier to extend these (or put them under a common interface) later