Update actions interface

Original interface was very naive and simple. It's been updated to
(hopefully) cover a wider range of use cases.

See pull request.
Merge pull request #8 from radiodan/newActions

Update actions interface