We will now create a component that will add support for creating new books.
That component will ensure that the required information is provided by end users. Its responsibility will only be to gather the information though. It won't take care of persisting the book. We will keep this component ignorant of what happens with the data. As such, it'll be a dumb component.
Our component will have an output through which it will emit events containing the Book objects to persist. That output stream will be watched by a smarter component (in other words, our page component) that will decide what to do (for example, make use of BookService). To emit those events, we will make use of the EventEmitter class provided by ...