Nice, I like this abstraction. Can you add some doc comments to it?