Reach class: one reach to rule them all. And create all "reaches" from an observation