Thank you BeeGeeDee, for clarification, I have been following the standard conventions and not putting includes in the header (forward declaring non standard engine types in the header file and including appropriate headers in the CPP file).
I have responded to madturtle84 with an example of a case that illustrates my particular issue.