Lessons for program design from the PMM projects | Synapse