add event emitter type definitions
first attempt at typescript store
pull store into component