start work on abstracting signaling