A: add http and socket proxy design
U: update comment
U: add a place holder function getProxyType()
U: add http(s) proxy method
D: delete order.isRunner()
U: add comments
A: implement getRequestType()