enable widgets to have own custom id