extracted the historical replay for late-binding observers
moved the shortest path algorithm around to increase srp

closes gh-20
renamed observer
being able to insert single to enumerable objects
getting observers to chain upon each other
more readable linq query
array conversion and inheritance walking