Added named pseudo states; simplified IState interface