Lazy evaluation, prepare_collaborator method