public void ExecuteActionImplementation()
        {
            object caller = null;
            object target = null;

            catalog.RegisterSpecificCondition("Action1", new MockCondition1());
            catalog.RegisterActionImplementation("Action1", delegate(object caller1, object target1)
            {
                caller = caller1;
                target = target1;
            });

            object caller2 = new object();
            object target2 = new object();

            catalog.Execute("Action1", new WorkItem(), caller2, target2);

            Assert.AreSame(caller2, caller);
            Assert.AreSame(target2, target);
        }