StateBuilder for programmatic stateItem creations
StatePusher refactory (using stateBuilder)