Things I want to do so far:
- Remove callbacks from the objects, use event emitters instead.
- Remove the upload object from the constructor, and deal with the fallout from that.
- Maybe have a superclass for the transports that will make this a bit easier...not sure how yet.