decoupling app.send and view.transmit