Added another level of abstraction to the combat system