Add generic action for executing blocks
Add state implementation that allows for undoing/redoing state altering actions