Make UIDevice additions more dynamic