refactor listen input and listen output into separate methods.
refactor listen input and listen output into separate methods.

chjj/blessed,gdseller/blessed,mcanthony/blessed,rosshinkley/blessed,mcanthony/blessed,rstr74/blessed,piranna/blessed,dbkaplun/blessed,zBMNForks/blessed,piranna/blessed,eush77/blessed,anko/blessed,umi/blessed,zBMNForks/blessed,chjj/blessed,rstr74/blessed,gdseller/blessed,anko/blessed,rosshinkley/blessed,eush77/blessed,umi/blessed,dbkaplun/blessed