This is good, but fyi, if you explicitly use type="button" on your <button> elements then they won't default to submitting the page.  I learned that from Vivien.