Segment query support

Unfinished
Im going to need to break this abstraction as a Segment needs to be passed in here that matches the SegmentEvent...