I'm not sure it's a good idea to be passing around a bunch of related model's records, whenever you retrieve the model?

I'm also thinking forward a little to when we're going to update the way in which form, grid and overview are added to the model. We'll probably use that method more frequently, and don't want to always load lots of records into memory, that may never be used?

Along with the above thinking, the current method that I'm trying to check-in does have some short comings such as no-paging, or filtering, etc. So I think it actually needs much larger refactoring.