Visit the following links for more information:
- Instance Properties: https://reactjs.org/docs/react-component.html#instance-properties-1
- Setting the Initial State: https://reactjs.org/docs/react-without-es6.html#setting-the-initial-state
- Context: https://reactjs.org/docs/context.html
- Spread syntax: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax