Actions and Events

Users can now create/edit/delete actions and events. Actions applied automatically update the properties of their respective widgets with the designated values. 

This pull request does not include:
* Checking Action/Event names are unique.
* Registering events with widgets. i.e. Once we create an event, we need to decide how we want to notify the widget/trigger the event uses as a triggers.