Seperated out header includes to reduce include path complexity and
improve application designer interface. Updated documentation