signal: introduce a struct to represent a signal