SwiftUI Tutorial: What's the difference between @State, @ObjectBinding, and @EnvironmentObject?