Moved action code to share.
New class action.

PASS: Action: have a name.
PASS: Action: have a type
PASS: Action: have a value
PASS: Action: set new value setts changed to true
PASS: Action: reset sets changed to false
PASS: Action: set the same value as before do not tigger changed