Represents an object which is capable of writing itself to a text stream in a more efficient format than just creating a toString() representation of itself. This mechanism is particularly useful for templates and such like.
It is worth noting that writable implementations often override their toString() implementation as well to allow rendering the same result directly to a String; however this is not required.