Inputs Work

Things are a little messier now in terms of order of initialization and
other things. We need to try and come up with some kind of good solution
for this, which for now I guess should be that the user controls all the
initialization. More ideas are needed.