listener1 and listener2 seems a bit too generic, they obviously have a deeper meaning than that