public function andReturnValues(array $returnValues)
    {
        $this->andReturn(function() use (&$returnValues) {
            if (count($returnValues) > 1) {
                return array_shift($returnValues);
            } else {
                return current($returnValues);
            }
        });
        
        return $this;
    }