app state now uses create() and update() for use with state subclasses and creating sub state