private void InstantiateUI(OpUICenter opUICenter, VoiceInputManager voiceInputManager,
                               TelemetryRequester telemetryRequester)
    {
        TelemetryNearDisplay telemetryNearDisplay = Instantiate(TelemetryNearDisplayPrefab);

        opUICenter.RegisterOpUI(telemetryNearDisplay, TelemetryNearDisplayName);
        telemetryNearDisplay.InitVoiceCommands(voiceInputManager);
    }
    // Start is called before the first frame update
    void Start()
    {
        OpUICenter = new OpUICenter();

        VoiceInputManager voiceInputManager = Instantiate(VoiceInputManagerPrefab);

        TelemetryGameObject  = new GameObject();
        telemetryDistributor = TelemetryGameObject.AddComponent <TelemetryDistributor>();
        telemetryRequester   = new TelemetryRequester();
        telemetryDistributor.Init(telemetryRequester);

        InstantiateUI(OpUICenter, voiceInputManager, telemetryRequester);
    }
 public void InitVoiceCommands(VoiceInputManager voiceInputManager)
 {
     voiceInputManager.AddInputCommand(InputAction.Create("Show Telemetry", KeyCode.T,
                                                          "Show Telemetry UI", () =>
     {
         TurnOn();
     }));
     voiceInputManager.AddInputCommand(InputAction.Create("Hide Telemetry", KeyCode.R,
                                                          "Hide Telemetry UI", () =>
     {
         TurnOff();
     }));
 }