/// <summary>Returns a new instance of an <see cref="IModelFactory"/>.</summary>
 /// <param name="model"></param>
 public static IModelServer NewModelServer(this AbstractDispatcher dispatcher, IResourceLoader resourceLoader)
 => new ModelFactory(dispatcher?.ViewModelFactory, resourceLoader)
 ?? throw new ArgumentNullException(nameof(dispatcher));
 /// <summary>Returns a new instance of an <see cref="IModelFactory"/>.</summary>
 /// <param name="model"></param>
 public static IModelFactory NewModelFactory(this AbstractDispatcher dispatcher)
 => dispatcher?.NewModelFactory(dispatcher?.ResourceLoader)
 ?? throw new ArgumentNullException(nameof(dispatcher));