default MetadataProvider implemented
Comparison with existing implementation
All api is made non-generic to avoid reflection-invokes