-added getter for Type in IActivity cause it's convenient to expect all IActivities will have a Type.
-adapted Activity.cs to provide such gettersetter.
-made ActivityManager into an event manager of sorts, so you can now subscribe different kinds of activity and be informed whenever one of them gets added to the ActivityManager