is it helpful to separate interface from impl in this class? i.e. is there a reasonable chance of useful alternate impls?