Hmm, I see now that `verify_invocation_order` raises an error or returns true.  That's a bit confusing with how this method is written.  For one, `expected_ordering_received?` is phrased like a boolean predicate and suggests it returns true/false but that's apparently not the case.  For two, the expression here makes it seem like `verify_invocation_order(self)` returns true or false.  Instead, I think the expression could be `@order_group.verify_invocation_order(self) if @ordered`, to make it clear that `verify_invocation_order` is a command, not a query.

Not sure what to call this method now, though, but hopefully you get where my confusion is coming from, given the way boolean expressions and predicate methods are typically used in ruby.