Finish gun refactor, break gun firing logic into separate classes with common functionality
Add TODO.txt, todo list