The state class made private: implementer needs no access to it.