public static function entry($argv): void
    {
        self::initialize();

        /* Check Command Entered */
        if (isset($argv[1])) {
            $command = $argv[1];
        } else {
            return;
        }

        /* Check Command Defined */
        if (!in_array($command, array_keys(self::$commands))) {
            return;
        }

        $arguments = [];
        $options = [];

        /* Parse Arguments and Options */
        for ($index = 2; $index < count($argv); $index++) {
            /* Get Argument/Option Key and Value */
            list($key, $value) = Service::parse($argv[$index]);

            /* Is Option */
            if (Service::determineTypeOfWord($argv[$index]) == Service::OPTION_TYPE) {
                /* Flag */
                if (!$value) {
                    $options[$key] = true;
                }

                /* Parameter */
                else {
                    $options[$key] = $value;
                }
            }

            /* Is Argument */
            else {
                $arguments[] = $key;
            }
        }

        /* Run Command Handle */
        Service::runCommand(self::$commands[$command], $arguments, $options);
    }