Extract public compiler API into its own header file