refactor developer materials. Fixes DEVELOPER-989

Most of this is moving code around to their own functions, introduced the option to update the page hash or not. 
make the ajax call it's own function