Add file loading, saving, and reloading on change