Chamando método dentro de outro método em javascript?

Eu estou tendo um namespace JavaScript dizer

A={

  CA: function() {
    this.B();
  },
  B: function() {
    var test='test';
    var result='t1';

    C: function() {
      this.test='test1';
      .....
      .....
      return 'test1';    
    }

   result=this.C();  
   return result; 
  }
}

Agora, quando estou executando esse código, ele está dando esse TypeError: this.C não é uma função. Alguém pode me dizer por que é assim? Eu sei que é algo relacionado com o escopo léxico, mas não consigo entender isso.

questionAnswers(4)

yourAnswerToTheQuestion