No mutables from source in EventPrincipal

Several structures were shared between the Source and the EventPrincipal (and even with Schedule). These structures could be updated on a per event basis and therefore can not be shared in the threaded framework. This change removes all the known mutable sharing and has each EventPrincipal hold onto its own copy of the data.