refactor modal to better support different the different modes without confusion and make it work
move fakeserver code into separate module for reusability
support either ajaxvocabulary or url for the url variable