"forces implementors to deal with it" <-- yes, but I don't think there'll be too many implementors (and duplicate code for this interface)  + an abstract class can be written so that implementos don't have to re-write the code. I think it would make our internal code a bit nicer, but it's just a matter of taste after all :-)
+1 that the code should be in the interface.