public function refund() : OrderState { throw InvalidTransitionException::unexpectedTransition('created', 'refunded'); }