Added PulseListener and improved tests overall