Initial work on lists of actions.

Added support for passing a list of "action" functions in to generate a
bunch of signals that will perform those actions on incoming messages.

Not sure this is a great implementation to be honest, and it took some
messing about with types, but I can revisit later.