replaced functions.js with eGActions, which introduces a hierarchy of actions
moved responsibility to access an action's label to the Action objects
refactored code