Maybe this check should live on the config object? I.e. `foo = ConfigClassName(..., provides=IDeliveryReportProcessor)`?