Collaboration, Task Decomposition and Allocation