Moved all listener behaviour up into the CoffeeShop