Adding support for custom actions

Still updating the README, but once that's done, we should ship this as 1.3 and then contemplate pulling the flash code into its own library.
:+1: