Improve selection of require packages. bnc#895070. bnc#896178. bnc#896185.

Well, for me usually published methods are more public in sense to use it from other modules, then simple public one, which I usually consider only as module private. But it may be only my view.