Provide ability to add RunListeners using SPI (#80)

Move it in what listener? ```TextListener``` you mean?