Divide functionalities into separate namespaces
Rename platform/send to platform/react
Rename: *-listeners -> *-reactors
Add another namespace for adapter interface
Rewrite shell adapter using Adapter protocol
Move platform-related code to platform namespace