{"action":"created","issue":{"url":"https://api.github.com/repos/jupyter/jupyter-js-ui/issues/84","repository_url":"https://api.github.com/repos/jupyter/jupyter-js-ui","labels_url":"https://api.github.com/repos/jupyter/jupyter-js-ui/issues/84/labels{/name}","comments_url":"https://api.github.com/repos/jupyter/jupyter-js-ui/issues/84/comments","events_url":"https://api.github.com/repos/jupyter/jupyter-js-ui/issues/84/events","html_url":"https://github.com/jupyter/jupyter-js-ui/pull/84","id":153037218,"number":84,"title":"Document Manager","user":{"login":"blink1073","id":2096628,"avatar_url":"https://avatars.githubusercontent.com/u/2096628?v=3","gravatar_id":"","url":"https://api.github.com/users/blink1073","html_url":"https://github.com/blink1073","followers_url":"https://api.github.com/users/blink1073/followers","following_url":"https://api.github.com/users/blink1073/following{/other_user}","gists_url":"https://api.github.com/users/blink1073/gists{/gist_id}","starred_url":"https://api.github.com/users/blink1073/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blink1073/subscriptions","organizations_url":"https://api.github.com/users/blink1073/orgs","repos_url":"https://api.github.com/users/blink1073/repos","events_url":"https://api.github.com/users/blink1073/events{/privacy}","received_events_url":"https://api.github.com/users/blink1073/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":90,"created_at":"2016-05-04T15:12:28Z","updated_at":"2016-05-12T13:58:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/jupyter/jupyter-js-ui/pulls/84","html_url":"https://github.com/jupyter/jupyter-js-ui/pull/84","diff_url":"https://github.com/jupyter/jupyter-js-ui/pull/84.diff","patch_url":"https://github.com/jupyter/jupyter-js-ui/pull/84.patch"},"body":"Formalizes the concept of document lifecycle in the application.\r\n\r\nThe document manager is used to register model and widget creators, and the file browser uses the document manager to create widgets.  The document manager maintains a context for each path and model type that is open, and a list of widgets for each context.  The document manager is in control of the proper closing and disposal of the widgets and contexts.\r\n\r\ncc @jasongrout @ellisonbg @sccolbert @minrk \r\n\r\ncf https://github.com/jupyter/jupyter-js-notebook/issues/166#issuecomment-216371067\r\n\r\n             "},"comment":{"url":"https://api.github.com/repos/jupyter/jupyter-js-ui/issues/comments/218765236","html_url":"https://github.com/jupyter/jupyter-js-ui/pull/84#issuecomment-218765236","issue_url":"https://api.github.com/repos/jupyter/jupyter-js-ui/issues/84","id":218765236,"user":{"login":"jasongrout","id":192614,"avatar_url":"https://avatars.githubusercontent.com/u/192614?v=3","gravatar_id":"","url":"https://api.github.com/users/jasongrout","html_url":"https://github.com/jasongrout","followers_url":"https://api.github.com/users/jasongrout/followers","following_url":"https://api.github.com/users/jasongrout/following{/other_user}","gists_url":"https://api.github.com/users/jasongrout/gists{/gist_id}","starred_url":"https://api.github.com/users/jasongrout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasongrout/subscriptions","organizations_url":"https://api.github.com/users/jasongrout/orgs","repos_url":"https://api.github.com/users/jasongrout/repos","events_url":"https://api.github.com/users/jasongrout/events{/privacy}","received_events_url":"https://api.github.com/users/jasongrout/received_events","type":"User","site_admin":false},"created_at":"2016-05-12T13:58:13Z","updated_at":"2016-05-12T13:58:13Z","body":"That makes sense to split the registry and the manager."}}