Broke out weapon/bullet data and firing logic to its own class