release 0.3

* reentrant
* robust to exceptions in actions
* more tests