Refactoring of Josh Smith's MVVM BubbleBurst http://bubbleburst.codeplex.com/