Implement a populate() method, make sure it handles arrays of both data and ids.
Fix up some more of the .populate() logic.