public static function isUnderscoreName($string)
    {
        // If there are space in the name, it can't be valid.
        if (strpos($string, ' ') !== false) {
            return false;
        }

        if ($string !== strtolower($string)) {
            return false;
        }

        $validName = true;
        $nameBits  = explode('_', $string);

        foreach ($nameBits as $bit) {
            if ($bit === '') {
                continue;
            }

            if ($bit{0} !== strtolower($bit{0})) {
                $validName = false;
                break;
            }
        }

        return $validName;

    }