abstracting signaling