Well, the idea of to make ModuleThree as independent
and ignorant as
possible about where it's input is coming from, so that even
though right now you know that it's being used with UserInput,
one day it could be used with data from a CGI webpage,
or from a database or whatever, so I would
suggest that MainModule pass them to ModuleThree.
ModuleThree will also be easier to test since you will be
able to feed it input from anywhere.