What is a gesture-based composition?
In smalltalk 80, if you want to pipe data & events between two running applications, you draw an arrow between the windows with your mouse.
When you have drawn that arrow, an editor pops up that allows you to configure the message being sent, what event triggers it, & the order of the args -- as well as whatever arbitrary smalltalk code you want to add.
(In other words, you use a mouse gesture to compose together arbitrary pieces of running code.)
The window that's popping up is literally an editor for live-editing the source of the application on the rear end of the arrow, so you can jump in and modify the application to provide an appropriate event if it doesn't already.