Create a DAL lib with a Database struct that contains all tables and relationships. Referential integrity is guaranteed.
- refactor Mappings.Mapping to use a ClearableBytes32Set and multiple EnumerableSet.Bytes32Sets instead of implementing that code directly in Mappings.Mapping. - update the api for better readability and reasoning. This should be much cleaner now.