Implement basis for Content provider

Including a lot of the functionality associated with the data classes.