Provide a system for dialogs and intents

(Fixes #56, Fixes #48)