Building on #5 it should be possible to create and modify a descriptor directly in the library. - [ ] Create and set field properties. - [ ] Modify primary and foreign keys. - [ ] Validate changes to the descriptor. - [ ] Helper methods to add and remove resources from the resources array.