Remove protection restriction
execute function in scripting is now optional.

We can avoid setting up a timer if the function is not implemented. We also now save a reference to the function when calling it rather than looking it up every time to use it.
Beginning activity with script initializer call
Renaming activity reason
Making a constant
Making finish function optional in scripting