Overhaul listener.rb

Actually return a message body, extract code into helpers, try to be a
tiny bit helpful when returning information