Well, a fully in-memory implementation for example, something that does not depend on the filesystem. Which makes me think about two things:

1. a `write` method would not make sense in an in-memory builder, so maybe it should be private too
2. if we're not going to write another implementation (I know I'm not), then you're right that we don't need an interface (yet)

So yeah, we'll add an interface when (if) we need it.

(sorry I like to think out loud sometimes)