/// <summary>
 /// Fires the Dispose event.
 /// </summary>
 /// <param name="e">An EventArgs containing the event data.</param>
 public void OnDispose(EventArgs e)
 {
     Dispose?.Invoke(this, e);
 }