Inheritance: IFixtureFileObserver, IFixtureController
        public void Start()
        {
            Engine.AssertValid();
            Client = Website.Start(this);

            var starting = Engine.Start();

            Engine.AddListener(Client);

            Fixtures = new FixtureController(Client, new FixtureFileWatcher());
            Fixtures.StartWatching(_input.FixturePath);
            Engine.Messaging.AddListener(Fixtures);

            Persistence = new PersistenceController(Client, new SpecFileWatcher(), Fixtures);
            Persistence.StartWatching(_input.SpecPath);
            Engine.Messaging.AddListener(Persistence);



            Engine.Messaging.AddListener(this);

            Startup = starting.ContinueWith(t =>
            {
                var systemRecycled = t.Result;

                return(handleInitialSystemRecycled(systemRecycled));
            });
        }
 public FixtureControllerTester()
 {
     Directory.CreateDirectory(theFixtureDirectory);
     theController = new FixtureController(theClient, new StubFixtureFileWatcher());
     theController.StartWatching(theFixtureDirectory);
 }