Use of a control factory to instantiate controls (follow-up of #1192)

cf. #1192