Large code improvements.  Numerous API changes and moving around various tasks and model methods.