Removed abstract classes and added factories to create Amazon clients and credentials