Build a Random Quote Machine

The project consists of three distinct parts:

  1. Identifying the components needed to complete the task, what components are there? Can some components be used more than once? E.g. the buttons, are they the same only with different onClick events?
  2. What component should be responsible for keeping state, and how should changes in state be passed on to other components?
  3. How should a new quote be fetched? Where should the new quote and the author be stored?