ignore the .classpath file to make it win/mac cross platform
a) change listener thread name to listener instead of task
b) add a shutdown method to listener. but need to reconsider with
exception handling
c) revert to using readline() instead of read()