public async Task RunTests(CancellationToken cancellationToken)
        {
            var byondTests  = new ByondTest(instanceClient.Byond, instanceClient.Jobs);
            var configTests = new ConfigurationTest(instanceClient.Configuration, instanceClient.Metadata);

            var byondTest = byondTests.Run(cancellationToken);
            await configTests.Run(cancellationToken).ConfigureAwait(false);

            await byondTest.ConfigureAwait(false);
        }
        public async Task RunTests(CancellationToken cancellationToken)
        {
            var byondTest  = new ByondTest(instanceClient.Byond, instanceClient.Jobs, instanceClient.Metadata);
            var chatTest   = new ChatTest(instanceClient.ChatBots, instanceManagerClient, instanceClient.Metadata.CloneMetadata());
            var configTest = new ConfigurationTest(instanceClient.Configuration, instanceClient.Metadata);
            var repoTest   = new RepositoryTest(instanceClient.Repository, instanceClient.Jobs);

            var repoTests  = repoTest.RunPreWatchdog(cancellationToken);
            var byondTests = byondTest.Run(cancellationToken);
            var chatTests  = chatTest.RunPreWatchdog(cancellationToken);
            await configTest.Run(cancellationToken).ConfigureAwait(false);

            await byondTests.ConfigureAwait(false);

            await chatTests.ConfigureAwait(false);

            await repoTests;

            await new WatchdogTest(instanceClient).Run(cancellationToken);
        }