Refactored dialogs

Now you pass content to a generic dialog which will render the content
instead of needing to create a separate view for every dialog