Split the one engine library into more specialized libraries