Use more forward declarations to removed header dependencies