Disruption refactoring

**DO NOT MERGE**

pr to open the discussion on disruption handling 
because it is used as a std::shared_ptr afterward (and thus named 'impact')