Add beginRun / endRun method module and ObserverFeature
Use endRun in output modules to flush