- only execute activity task if task was received with a valid TaskToken
- added an ISchedulable interface which both IActivity and Workflow extends from
- append a random string (first 8 characters of a guid) at the end of an activity ID to allow the same activity being used multiple times at a given stage
- added more examples