Signal impl (#4)