public function install(ApplicationInterface $app)
    {
        try{
            $di = new CalgamoDiContainerAdapter(new Container);
            $app->di($di);

            // fire event
            $app->eventstream()->channel(Channels::SYSTEM)->push(Events::DI_ATTACHED, $di);
        }
        catch(\Throwable $e)
        {
            throw new ModuleInstallationException(self::class, $e->getMessage(), $e);
        }
    }
public function install(ApplicationInterface $app)
    {
        try{
            $di = new CalgamoDiContainerAdapter(new Container);
            $app->di($di);

            // fire event
            $app->eventstream()->channel(Channels::SYSTEM)->push(Events::DI_ATTACHED, $di);
        }
        catch(\Throwable $e)
        {
            throw new ModuleInstallationException(self::class, $e->getMessage(), $e);
        }
    }
Install module

@param ApplicationInterface $app

@throws  ModuleInstallationException