Code redesign added FSM of player objects