/// <summary>
 /// Creates a new client.
 /// </summary>
 /// <param name="connectionFactory">A function that creates a new DB connection</param>
 /// <param name="openAsync">A function that asynchronously opens the DB connection</param>
 /// <param name="executeNonQueryAsync">A function that asynchronously executes a DB command</param>
 /// <exception cref="System.ArgumentNullException"></exception>
 public BrokerClient(
     Func <IDbConnection> connectionFactory,
     OpenAsync openAsync,
     ExecuteNonQueryAsync executeNonQueryAsync)
     : this(connectionFactory, openAsync, executeNonQueryAsync, None, None)
 {
 }
 /// <summary>
 /// Creates a new client.
 /// </summary>
 /// <param name="connectionFactory">A function that creates a new DB connection</param>
 /// <param name="openAsync">A function that asynchronously opens the DB connection</param>
 /// <param name="executeNonQueryAsync">A function that asynchronously executes a DB command</param>
 /// <param name="scheduler"></param>
 /// <exception cref="System.ArgumentNullException"></exception>
 public BrokerClient(
     Func <IDbConnection> connectionFactory,
     OpenAsync openAsync,
     ExecuteNonQueryAsync executeNonQueryAsync,
     TaskScheduler scheduler)
     : this(connectionFactory, openAsync, executeNonQueryAsync, None, scheduler)
 {
 }