When we start to use any new tools it is important to know why are we using it and where to use it. Likewise, it is important to understand the difference between Observable, EventEmitter, and Subject and where to use it. It always gets confusing to choose between Eventemitter and Subject...