Pulled DataCollection apart into DataNode and DataNodeCollection