Provide ability to add RunListeners using SPI (#80)

looks like overhead... but ok, just to be safe)