Implement this abstract class to create a new State that can be added to an Fsm. FsmState derives from FsmEventHandler, enabling reaction to platform application events (such as input, window events, etc.) by overriding the appropriate functions
An Overlay is a screen built in Immediate Mode GUI ( imgui ) which is displayed on top of any other ui and it's mainly used for debug purposes ( Console, Render Stats, Debug View Buttons, etc... )