added documentation
cleaned up some of the creation of the coupled ode
replaced existing observer
moved coupled_ode_observe into its own header file