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

cf. follow-up of #1192