public function defineMap($name, callable $map, $priority = 0)
    {
        $this->areMapsSorted = false;
        $this->maps[$name] = new PrioritizedMap($map, $priority, count($this->maps));

        if (!isset($this->rules[$name]))
            $this->rules[$name] = [];

        return $this;
    }