// --------------------------------------------------------[]
        private void DoProceedChannelTask( IChannelTask task )
        {
            if( task.GetStatusCode() != TaskStatus.InProgress ) {
                throw new SpreadbotTaskException( "Task is not In-Process [{0}]", task );
            }

            FindChannel( task.ChannelId ).ProceedTask( task );
        }
        // ===================================================================================== []
        // DoRunChannelTask
        private void DoRunChannelTask( IChannelTask task )
        {
            if( task.GetStatusCode() != TaskStatus.Todo ) {
                throw new SpreadbotTaskException( "Task was already run [{0}]", task );
            }

            switch( task.ChannelMethod ) {
                case ChannelMethod.Submit :
                    FindChannel( task.ChannelId ).RunSubmissionTask( task );
                    break;
                default :
                    throw new SpreadbotTaskException( "Unexpected task operation [{0}]", task.ChannelMethod );
            }
        }