This is a nice abstraction. I probably should have done something similar for publish over http and https