Well, originally, we couldn't do recursive when it was in the behavior, I suppose now we can. But isn't a stack faster and less memory intensive than having python call the functions recursively? And you're right, it should be part of widget itself.