- Refactored metadata.py to be an object GenericMetadata to allow subclassing
  within model-specific modules