public function doesWith($callback, $arguments = array(), $prefixSelf = null, $suffixArgumentsObject = false, $suffixArguments = true)
{
if (null === $prefixSelf) {
$parameters = $this->invocableInspector->callbackReflector($callback)->getParameters();
$prefixSelf = $parameters && 'phonySelf' === $parameters[0]->getName();
}
if (!$arguments instanceof Arguments) {
$arguments = new Arguments($arguments);
}
$this->answers[] = new Answer(new CallRequest($callback, $arguments, $prefixSelf, $suffixArgumentsObject, $suffixArguments), $this->secondaryRequests);
$this->secondaryRequests = array();
return $this;
}