Merge pull request #223 from evansb/stable
Implement dependency checking and undo

(main@db57fef24d4bbfe3d87d005a3096ff83a2c9d241)