Genereal cleanup for reducing compile-time

Added forward declarations

Removed includes

Moved code from header to source file

Smaller code cleanup