Either we can make the only interface to grafts the add/remove methods, or we can implement a 'post-processor' here for any files that could use additional processing.

I can see that simply writing a named file has nothing to do with the changing repo behaviour, so having a 'post-processor' probably makes it unnecessarily complicated.