I wonder if it isn't a waste of energy to integrate with 10 different providers and to keep up with all API changes and being forced to find the best way to abstract all the different features of the providers into one interface...