Gamedevhttps://gameprogrammingpatterns.com/https://en.wikipedia.org/wiki/Finite-state_machineObserver PatternEvent pub/subFinal Fantasy 7 engine breakdown