Self-Assembly in Crowded Systems