Interrupts support

Currently, there is no way to interrupt a long running code evaluation. It would be nice if we are able to do so.

Here is my attempt of attacking this, with the current design we have. It's kinda hard to do so, as we stand and it requires a lot of adapter specific hacks. Let's see how further will this one go.