# Introduction statez provides basic state management for [ggez](https://crates.io/crates/ggez). `StateManager` is a wrapper for `ggez::event::EventHandler`. It keeps track of `State`s in a stack and passes events received to the topmost (i.e. active) `State`. Data can be shared between `State`s. `State::update()` should return a `StateTransition` that tells the `StateManager` what should happen next. # Examples - [`hello_world`][hw]: The simplest example of switching between two states. - [`using_shared_data`][sd]: An example of a) two states accessing shared data and b) a state allowing previous states to be drawn underneath it by returning true in State::draw_previous_state(). [hw]: examples/hello_world.rs [sd]: examples/using_shared_data.rs