/// <summary>
        /// Wires up the specified handler to the named event on the supplied event source.
        /// </summary>
        /// <param name="source">
        /// The object (an object instance, a <see cref="System.Type"/>, etc)
        /// exposing the named event.
        /// </param>
        /// <param name="handler">
        /// The handler for the event (an object instance, a <see cref="System.Type"/>,
        /// etc).
        /// </param>
        public override void Wire(object source, object handler)
        {
            AssertUtils.ArgumentNotNull(source, "source");
            AssertUtils.ArgumentNotNull(handler, "handler");
            // simply delegate so that after wiring, state is wiped clean...
            AutoWirer wirer = new AutoWirer(source, EventName, handler, MethodName);

            wirer.Wire();
        }
		/// <summary>
		/// Wires up the specified handler to the named event on the supplied event source.
		/// </summary>
		/// <param name="source">
		/// The object (an object instance, a <see cref="System.Type"/>, etc)
		/// exposing the named event.
		/// </param>
		/// <param name="handler">
		/// The handler for the event (an object instance, a <see cref="System.Type"/>,
		/// etc).
		/// </param>
		public override void Wire(object source, object handler)
		{
			AssertUtils.ArgumentNotNull(source, "source");
			AssertUtils.ArgumentNotNull(handler, "handler");
			// simply delegate so that after wiring, state is wiped clean...
			AutoWirer wirer = new AutoWirer(source, EventName, handler, MethodName);
			wirer.Wire();
		}