private function camelize($string, $lower = true)
    {
        $words = explode('_', strtolower($string));

        $camelized = '';

        foreach ($words as $word) {
            if (strpos($word, '_') === false) {
                $camelized .= ucfirst(trim($word));
            }
        }

        return ($lower) ? lcfirst($camelized) : $camelized;
    }