Removed some mutable objects as default arguments. Removed some unnecesary variables
Decoupling module http from protocol
Merged changes with development