Flow: `sendKey` -> success -> promise fulfilled & events will be thrown if required.