public function returns(array $callMap): ClassProxy
    {
        foreach (array_keys($callMap) as $method) {
            if (!isset($this->_allowedMethods[$method]) || isset($this->_voidMethods[$method])) {
                throw new \InvalidArgumentException(
                        $this->canNot('map', $method)
                );
            }
        }

        $this->callMap = new CallMap($callMap);
        return $this;
    }