IState interface simplified
moved logic to state context