protected function getEditorValues($set, array $setData, $device, $groupLabel)
    {
        $groupLabel = $groupLabel ? $groupLabel : $device;
        $editorValues = [];

        $cssSuffixes = $this->settings[static::$SETTINGS_SECTION][$set]['cssClassSuffixes'];
        foreach ($cssSuffixes as $cssSuffix) {
            $cssClass = "$device$cssSuffix";

            //
            // with column number, eg: small-X, medium-offset-X
            //
            if (true === $setData['appliedPerColumn']) {
                $k = $this->settings['gridSize'];
                $col = 1;
                do {
                    $valueName = $cssClass . $col;
                    // TODO: More elegant and readable label generation
                    $labelPrefix = "$device: ";
                    if (count($cssSuffixes) > 1) {
                        $labelPrefix .= ($s = implode(' ', explode('-', trim($cssSuffix, ' -')))) ? $s . ' ' : '';
                    }
                    $labelName = "$labelPrefix $col / {$this->settings['gridSize']}";
                    $editorValues[$valueName] = array(
                        'label' => $labelName,
                        'group' => $groupLabel,
                    );
                    $col++;
                } while (--$k);
            }

            //
            // without column number, eg: small-reset-order, large-centered
            //
            else {
                $valueName = $cssClass;
                $labelName = "$device: " . str_replace('-', ' ', str_replace($device, '', $cssClass));
                $editorValues[$valueName] = array(
                    'label' => $labelName,
                    'group' => $groupLabel,
                );
            }
        }

        return $editorValues;
    }