Why are we making this internal? Why not do the same for KeepAlive and/or OutputWriter?