Software Architecture for Independence