public async Task RunAsync(ConnectionConsoleOut consoleOut, string message)
            {
                runner.ConsoleWrite += consoleOut.OnConsoleWrite;
                await runner.CompileAndRunAsync(message);

                runner.ConsoleWrite -= consoleOut.OnConsoleWrite;
            }
            public async Task RunAsync(ConnectionConsoleOut consoleOut, string message)
            {
                var assessmentManager = new AssessmentManager(runner, rep);

                assessmentManager.ConsoleWrite += consoleOut.OnConsoleWrite;
                await assessmentManager.RunAssessmentsForExercise(userServices.GetCurrentUser(), message, chapter, exercise);

                assessmentManager.ConsoleWrite -= consoleOut.OnConsoleWrite;
            }
            public Connection(string connectionId, IConnectionTask connectionTask, ICodeRunnerHubClient caller, string userId)
            {
                this.connectionId   = connectionId;
                this.connectionTask = connectionTask;
                this.caller         = caller;
                this.userId         = userId;

                connectionQueue = new BufferBlock <(QueueItemType type, string message)>();
                consoleOut      = new ConnectionConsoleOut(this);
            }