Grab :channel as a boumd param
Bind a new connection value
Return the connection from start
Move register and make it private

I also converted the outgoing messages to maps instead of calling parse
on strings.
Use a message map instead of calling parse
Move output.clj to logger.clj
Move get-line up and make it private
Move send-message and ping-pong up in the file
Rename trigger-event to trigger
Make events an atom
Make the atom's initial value an empty map
Add events/register
Remove the global events atom
Adjust register to modify the connection
Change a function ordering
Change some parameter names
Update a docstring
Make some functions private
Remove a useless param
Use the new trigger function