Existing computational chemistry packages are tightly integrated, with few interchangeable components, data structures and algorithms. Interoperation between packages is an issue of particular interest to the chemistry community but is only slowly gaining traction. In this talk I will show how the Aquarius quantum chemistry framework takes the philosophy that abstraction layers can be created to interface with external programs and libraries that use expert knowledge of those systems to leverage their native interfaces. This philosophy is illustrated with the example of tensor contraction, where an interface layer has been created to dynamically build on the features of various external tensor libraries.