Forgot to add.
A futures/promises fits well with this. A future is just an action (message send) which should be enqueued after receiving result of some operation. This means that future can be simply a special kind of context, which activates after original send and then uses result to send new message for it. This means that futures can be seemly handled at VM level.