Introduce SignManager, create OnSignChange, OnSignBreak events