make datasignal listeners constructed by widget specific visitor implementation to make it possible to set some proprietary properties on events (mouse over, etc.)