Implemented code so that the original image extension is used instead of a fixed one, thus maintaining the image format as it was captured in BrowserStack.
Added interfaces to the main classes and prepared appropriate constructors to enable unit testing