Rearranged and deleted require statements
Moved classes under the Escher module so as not to litter the global namespace
Formatting
Moved hash-based request functionality into separate class and introduced factory to instantiate different kind of requests