//Clean up anything we need to here public void Dispose() { if (Initialized == false) { return; } UnsubscribeEvents(); RoutineHandler?.CleanUp(); CommandHandler.CleanUp(); ClientService?.CleanUp(); MsgHandler?.CleanUp(); if (ClientService?.IsConnected == true) { ClientService.Disconnect(); } //Clean up and relinquish the virtual controllers when we're done InputGlobals.ControllerMngr?.CleanUp(); instance = null; }