final public function install()
    {
        // Initiate Flysystem
        $this->files = new Filesystem();

        // Make sure we have the Console Output style
        // before continuing with the install sequence
        if (empty($this->getCommand())) {
            throw new InstallPackageException('Could not run install sequence. Reason: Missing Console Output reference.');
        }

        // Run install methods
        $this->prepareInstall();
        $this->installConfigs();
        $this->installFacades();
        $this->installScaffolding();
        $this->installViews();
        $this->installAssets();
        $this->installCustom();
        $this->installDatabase();
        $this->finishInstall();
    }