Creating an interactive historical narrative with MVC and deeply nested models.