This doesn't feel like something that needs to be an interface.
Can't it just be a struct?