Implemented deferred upload (#13) with the ability to pass meta data to the server (#11). Classes have been split for more modularity addressing issue #12.