FB 33239 add mutable document revision

See https://gist.github.com/mikerhodes/c022e9e44d83c2e4747e for mini spec (objective-c version)
I think I'd create a separate object, using static in this way seems like a slight misuse of the option (though counter-examples obviously welcome). Some documentation of the class and options would be good too.