I was always intrigued by a possibility of doing callbacks in client/server, distributed applications. RAD Studio XE demos include "CallbackChannels" demo that shows how to use callbacks with different DataSnap communication protocols (TCP/IP, HTTP) and architectures (DBX, REST).
In this "Delphi Labs" episode I have tried to create the most simple example of using callbacks. Both client and server are Delphi VCL Forms applications. To keep it simple I’m only using TCP/IP and DBX. This tutorial covers broadcasting to a channel and notifying a specific callback.
Delphi Labs: DataSnap XE - Callbacks