stop login timer on destroy
get rid of unnecessary concurrency for channels and clients
parse lines more robustly
allow blank lines from the client
don't use a goroutine when initializing clients
instantiate clients in the server command goroutine
use a select in the server commands loop