SMS: SanFrancisco life cycle programming techniques