There's no need to wrap the scalar values in sub { ... }
Use only words which have translations
Don't allow duplicates
Quote a $word
Use parentheses here
TestSummary data can be reloaded only if it's displayed
Add a word to a test only if it is not there yet.
Go through all of the notebook's pages
Reload data within a Search page after adding a new word
Reload data within a TestSummary page after finishing an IrregularVerbsTest