I was intending to pass a Caller object here, but I found I had a problem using Prophecy with a Caller object (doing $caller->getWrappedObject()->willReturn('something') didn't work because method willReturn() was "not found" - is this a problem unique to the Caller object? this is why I ended up passing the object itself to the  TraversableSubject's constructor, because I couldn't mock the Caller).