State Management
@State Property wrapper
- when a variable declared as @State changes swiftUI will rebuild the view to reflect the change of that view.
@Binding property wrapper
- binding property wrapper is used to create two way communication between parent and child view.