Interaction system refactored