We don't have to do this as part of this pull (and I realize I wrote the above few lines of code so it's my fault anyway) but ultimately we should support tracking objects of all types.  This will be part of a larger effort in the DataSource refactoring going on, but I just wanted to mentioned it here.