Made Gun and Interface with SimpleGun inheriting from it.
Fixed issues with State Pattern, some oversights