early_talker: add tests

refactor a little for testability and simplicity
Merge pull request #688 from msimerson/early_talker

early_talker: add tests