Only bind events when it's valid widget. When not, do it on the fly