Refactored Weapon class to be reusable easier