it depends on signals `>0.7 <2.0` (I won't break backwards compatibility until v2.0)