Hmm, the trouble is that if I run the same code then both Value and WantToCall() appears undefined - no worries about anything else. Yes, there might be typos, I just put the stuff in; the question is rather theorethical, having:
Class1If -> Class1 -> Class2If -> Class2; Value and WantToCall() are reported as undefined.