Reflexive component-entity-system. Using Clojure data manipulation and a Javascript front-end system