public function map($type, $transformation)
    {
        if (!is_callable($transformation))
            throw new InvalidTransformationException('Transformations must be callable objects');

        foreach ((array) $type as $t) {
            $this->getMatcher()->rule('type', $t, $transformation);
        }

        return $this;
    }