public ExecutionEnvelope(ITask task, ITaskReleaser releaser)
        {
            Contract.Require(task != null, "task != null");
            Contract.Require(releaser != null, "releaser != null");

            Task = task;
            _releaser = releaser;
        }
        public void Setup()
        {
            _windsor = new WindsorContainer();

            var facility = new DarkFlowFacility()
                .RouteTasks(x => x.ByNamespace("Codestellation.*").To("someExecutor"))
                .PersistTasks(x =>
                {
                    //TODO: Calls to To() are ugly, because they are completely ignored. Need more elegant solution to this.
                    x.ByNamespace("Codestellation.*").To("xx");
                    x.MarkedWith(typeof(MarkerAttribute)).To("xx");
                });

            _windsor.AddFacility(facility);

            _windsor.Register(
                Component
                    .For<TaskInterceptor>()
                    .LifestyleTransient());

            _releaser = _windsor.Resolve<ITaskReleaser>();
        }