Reworked in conformity with OO principles. Modelled after the Heroku.jar API