Removed recursive calls for now - keeps crashing chrome
Moved Structure datasource to a factory to prepare for eventual server integration
Added slightly more realistic default structure