First stab at adding MetadataManager

This is NOT ready to merge yet. I'll be adding implementation for the functions in the next couple of days.
Can we just explicitly make this e.g. `communityId`?  `networkId` seems like a legacy artifact that we don't want to continue with.