This class is an ordered collection of expectations for one method. Since
the loose mock does most of its verification at the time of $verify, this
class is necessary to manage the return/throw behavior when the mock is
being called.
This is a mock that does not care about the order of method calls. As a
result, it won't throw exceptions until verify() is called. The only
exception is that if a method is called that has no expectations, then an
exception will be thrown.