Major refactor for data objects.