Maybe throw ValueError if action is not one of the supported values. May need to add Entry.ACTIONS = [...]