Finished stateless list example (using components)