Rather than have a transparent dependency, we can make it explicit in the interface. This also gets rid of the need to put the core include in a header.