Lots of changes to make the code more readable

Still need to port a few other AsyncTasks;
Implementing MVC, in a fashion slightly different than Hindle's