added on_change hook for update_system function. fixed #401