code segment including instructions to associate with a collaboration process; a code segment including instructions to accept one or more messages from the collaboration process; and wherein information can be shared with the collaboration process through a shared state.