Minor optimization suggestion: couldn't we decorate ``get_visible_children`` with ``pyramid.decorator.reify`` and then make ``visible`` and ``selected`` use it instead of iterating over ``self.children`` three times? Or is sth equivalent already done by SQLAlchemy?