/// <summary>
        /// Requests a new screen to be shown
        /// </summary>
        /// <param name="sender">Object sending the event</param>
        /// <param name="name">Name of new screen to show</param>
        public static void RequestNewScreen(object sender, string name)
        {
            RequestScreenChangeEventArgs request = new RequestScreenChangeEventArgs();

            request.newScreen = name;
            UIManager.RequestScreenChange?.Invoke(sender, request);
        }
 /// <summary>
 /// Handle a request to change screens
 /// </summary>
 /// <param name="sender">sender of the event</param>
 /// <param name="eventArgs">arguments of screen change</param>
 public void HandleScreenRequest(object sender, RequestScreenChangeEventArgs eventArgs)
 {
     this.SetScreen(eventArgs.newScreen);
 }