public function usePalette(PaletteInterface $palette)
    {
        if ($this->palette) {
            $this->finishPalette();
        }

        $event = new UsePaletteEvent($palette, $this);
        $this->dispatchEvent($event);
        $this->palette = $palette;

        return $this;
    }