I think there's only going to 1 implementation of this so presumably we don't actually need an interface for it?