source http://www.mrscottmcallister.com/redux-without-a-framework/ inspiration https://www.sitepoint.com/redux-without-react-state-management-vanilla-javascript/