Well, as I said -- there are no assumptions about objects stored in overlay. Number of buttons could be determined, if overlay knew that elements stored in it are buttons. If I have no Idea if controls are laid vertically, horizontally (or even in more complicated way) how can I know which one to focus if user press left or right arrow?
It is already implemented in framework, and it's kind of complicated. That's why I wanted to reuse it's capabilities.
For now I was able to accomplish this task by remembering state of direct view descendants, and setting their allowNavigation and wantsFocus to false. When overlay loses focus it re-sets the state of other objects and passes focus to them. This solution is a bit crippled, but works for now :-)