Fully decompose all concerns of constructing signals.

Moves all logic into the Signal module and its namespace.

Keeps the Message namespace around to mine for ideas.
Rewrite all signal support modules as anonymous function generators.

Also document their usage more.