More work on modularizing upload class.
More refactorings on upload strategy.