Consider moving `requestToken`, `uploadItem`, and `publishItem` into a class in order to reduce the number of items in the top-level of this library. There are a few small classes at the end of this file who's members had been top-level methods.