ugh HasSignals; all cases should work now