1. A computer-implemented method of delegating activities, the method comprising: defining an activity specification, said activity specification comprising a set of service invocations for use in a service oriented architecture; transforming the activity specification into continuation passing style to form an activity; and executing the activity using an activity execution engine.