public function generateScaled($args) {
        $overwrite = array_key_exists('overwrite', $args) || array_key_exists('force', $args);
        if (array_key_exists('template', $args)
            && !empty($args['template'])
        ) {
            return $this->_generateScaledImagesForTemplate($args['template'], $overwrite);
        } elseif (array_key_exists('filename', $args)
            && !empty($args['filename'])
        ) {
            return $this->_generateScaledImagesForFilename($args['filename'], $overwrite);
        } elseif (array_key_exists('id', $args)
            && !empty($args['id'])
        ) {
            return $this->_generateScaledImagesForId($args['id'], $overwrite);
        }
        return $this->_generateAllScaledImages($overwrite);
    }