TODO: split, remove kludges, todos.
Added module tests, etc.
Renamed old interfaces to old and remove X from the new names.
Added listening.
Added listening decision.
NewRadio tests pass
TODO: examples