Starting on a very rough API and moving each gun event to its own
dedicated class