Should we have a default implementation in API that does this? Seems useful if we're expecting clients to supply these instances.