Refactored DataBlock and DataPoint to be more DRY.