Factory implementation for basecamp.projects pipe