Consider replace several methods with one e.g. set_state(STATE_CONSTANT)