Note that this commit includes several changes made iteratively over time, from TestFlight 1.0 to 1.5