is there a benefit making this an instance method and using RelationHandler.new in PredicateBuilder? For all intents and purposes you seem to be using it as singleton, so coudl it just be self.call and register the call itself?