The Elements of Effective Program Design: A Two-Level Analysis | Synapse