I get the idea but there's no way to abstract all posibles app specific calls imho. I would rather go with an abstract factory pattern.