Listener feature completed

Listener is open for basic dependency injection for tests and the reader is closed at program exit. Updated To-Do and feature lists to reflect changes.