Made a start with abstraction of the trigger listeners