GuidProviderAware interface and trait initial commit