Basic state machine designs and improving app data exchange states in the handshake docs

More/better docs are always nice.