There are many ready-made functions available, but many scripts only use 6 functions: EWget: load, EWget::getValue, EWset::setRecordField, EWset::setMessage, EWSet::setExitAction and EWset::save, and two of these, 'load' and 'save', are identical for all scripts. If you just master the functions EWget::getValue, EWset::setRecordField, EWset::setMessage and EWSet::setExitAction, you will be able to write very powerful scripts.
Many of the functions take a parameter $recordName as an input variable. There is always a record named "current_state", which is the record that is currently being edited. In addition, the script may have available to it "old_state", which provides the old field values of the record and other $recordNames, which provide the values of records that are linked to the input record via linked field relationships.