Abstracted away oauth client