url is now passed in as an argument rather than a stubbable method, which is clearer; also removed the unnecessary oPublic definition, again for clarity