Would it also be a good idea for the trait to provide a method that does formatting as well? It could be a protected method, just something that doesn't force the implementing class to know the internals of the trait.