Makes the listener more scalable

This makes the listener more readily scalable using magic, and also permits functions to be added instead of just strings.