protected function _addTransition($transition)
    {
        if (!is_string($transition) && !($transition instanceof Stringable)) {
            throw $this->_createInvalidArgumentException(
                $this->__('Argument is not a valid transition.'),
                null,
                null,
                $transition
            );
        }

        $this->transitions[(string) $transition] = $transition;
    }