Refactored model heirarchy, use Node/Stream pairs + supporting events
Finished model refactoring