private function getBuilder($behavior)
    {
        // Create a new behavior of the given type if one does not yet exist.
        if (! isset($this->behaviors[$behavior])) {
            $this->behaviors[$behavior] = new $behavior();
        }

        return new Builder(new Runner($this->behaviors[$behavior]), $this->macros);
    }