Added triggering widgetAdded and widgetRemoved Event

These events are needed in order to e.g. persist the dashboard state everytime it is changed