Custom selection mode

Hi,

let's start with an example: I want to start interactive circle selection:

AIS_InteractiveContext->Activate(AIS_Shape::SelectionMode(TopAbs_Edge));
Handle(StdSelect_EdgeFilter) Filter = new StdSelect_EdgeFilter(StdSelect_Circle)
AIS_InteractiveContext->AddFilter(Filter)

but when hovering over the circle I don't want the circle to be highlighted but its middle point.
Similar, I would like to start edge selection but I want e.g. it's middle point or end points to be highlighted.

What would be the best approach to implement that functionality?

Thanks
Pawel