has_focus is now protected (and in the mli)