Abstracting third-party libraries and framework code