More hack removal and reworking of find{Next,Previous}Object()