Refactored Demo a bit to avoid creating a new frag for each demo build and to save state where appropriate.