It would be good to add a comment on the intended use-cases for this class as I don't think it is immediately obvious.