add entry point for widget init and binding