This commits lays the foundation for actions in Monado (input and output). There are lots of things missing and non-conformant in there. But once in more people then just me can test it out and work on it.
This should replace all manual poking of the next chain. Prefer the macros over the functions since they'll do your casting for you.