DataManager, LocalDataSource & Associated stuff

I think that the DataManager & LocalDataSource stuff is working well enough that we can integrate it at least. Still needs more work, but the basic methods seem to be working correctly, if not in the most efficient way possible.
This comment probably doesn't belong here.