How would you name a class with the following public interface:
/// <summary>
/// Enqeues and exectutes actions synchronously on seperated threads using the <see cref="ThreadPool"/>.
/// </summary>
/// <remarks>
/// Syncronism is guaranteed on a per-instance base in that each enqued action will be executed
/// after the previous action has completed execution for each instance of <see cref="ThreadPoolExectutor" />
/// </remarks>
internal class ThreadPoolExectutor
{
/// <summary>
/// Initializes a new instance of the <see cref="ThreadPoolExectutor"/> class.
/// </summary>
/// <param name="capacity">The absolute (not the initial) number of elements that the <see cref="ThreadPoolExectutor"/> can contain.</param>
public ThreadPoolExectutor(int capacity)
/// <summary>
/// Occurs when exception occured during execution.
/// </summary>
public event EventHandler<ExceptionEventArgs> ExceptionOccurred;
/// <summary>
/// Enqueues a new action with a single parameter for execution on the thread pool.
/// </summary>
/// <param name="action">
/// The action to enqueue for execution.
/// </param>
/// <param name="param">
/// The parameter for the action.
/// </param>
/// <typeparam name="TArg">
/// The type of the <paramref name="param"/>.
/// </typeparam>
public void Execute<TArg>(Action<TArg> action, TArg param)
/// <summary>
/// Enqueues a new action with no parameters for execution on the thread pool.
/// </summary>
/// <param name="action">
/// The action to enqueue for execution.
/// </param>
public void Execute(Action action)
}