Engine refactoring #36, #37, #38
I notice that I didn't have a clear understanding of where my characters should be on my grid and I was not updating all the interested "observers" about movement, spawning or de-spawning.
It's really simple to clutter you classes with unwanted dependencies just because you need to update some 3rd party code that doesn't actually belong to your class.
With respect to keeping a clear separation of concerns in the code I've implemented the observer pattern.
Observer pattern in TypeScript