public static function callback($str)
        {
            // Overloaded as parts are found
            $command = $params = null;

            // command[param,param]
            if (preg_match('/^([^\(]*+)\((.*)\)$/', $str, $match)) {
                // command
                $command = $match[1];

                if ($match[2] !== '') {
                    // param,param
                    $params = preg_split('/(?<!\\\\),/', $match[2]);
                    $params = repl('\,', ',', $params);
                }
            } else {
                // command
                $command = $str;
            }

            if (strpos($command, '::') !== false) {
                // Create a static method callable command
                $command = explode('::', $command, 2);
            }

            return array($command, $params);
        }