Implement shared underlying data objects, which plays nicely with angular as Contact.get(1) === accounts..get(1) e.g. data binding will work properly however you get the objects. TODO - need a flag to turn this behaviour off if required