> As for putting the request interactions in the controller I will have to break down the constructor and modularize it a bit more to fix that, but it should easily be doable. 
4. I will go through and add a bit more detail into the comments. 

Definitely do this. Constructors are supposed to have minimal logic as a general rule. This is because 1) it's very difficult to test a constructor, and 2) it becomes confusing to read very quickly. I know I am pretty confused after I tried to read this constructor.