This will undoubtedly evolve as implementation continues, but this is some initial documentation based on the design doc.