UPDATE: most of this content is no longer applicable as of the newer versions of NgRx; please see the 2019 version of this article: