Event.Clone, Behavior construction, namespaces

1. Added method Event.Clone
2. Changed the construction of Behaviors, pulling out the listening to
the source into a separate method, so that the HoldBehavior class
doesn't have to call RegisterSource
3. Renaming unused namespace using statements