This is not new, but ModuleMetadata should not handle those last two arguments as dumb Strings, but rather as java.util.Properties.

That should carry as a rich representation down to the REST layer (ie ModuleMetadataResource should have 2 Properties as well)