{"action":"closed","issue":{"url":"https://api.github.com/repos/astropy/halotools/issues/195","labels_url":"https://api.github.com/repos/astropy/halotools/issues/195/labels{/name}","comments_url":"https://api.github.com/repos/astropy/halotools/issues/195/comments","events_url":"https://api.github.com/repos/astropy/halotools/issues/195/events","html_url":"https://github.com/astropy/halotools/issues/195","id":113696409,"number":195,"title":"Simplify ModelFactory API","user":{"login":"aphearin","id":6951595,"avatar_url":"https://avatars.githubusercontent.com/u/6951595?v=3","gravatar_id":"","url":"https://api.github.com/users/aphearin","html_url":"https://github.com/aphearin","followers_url":"https://api.github.com/users/aphearin/followers","following_url":"https://api.github.com/users/aphearin/following{/other_user}","gists_url":"https://api.github.com/users/aphearin/gists{/gist_id}","starred_url":"https://api.github.com/users/aphearin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aphearin/subscriptions","organizations_url":"https://api.github.com/users/aphearin/orgs","repos_url":"https://api.github.com/users/aphearin/repos","events_url":"https://api.github.com/users/aphearin/events{/privacy}","received_events_url":"https://api.github.com/users/aphearin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/astropy/halotools/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"aphearin","id":6951595,"avatar_url":"https://avatars.githubusercontent.com/u/6951595?v=3","gravatar_id":"","url":"https://api.github.com/users/aphearin","html_url":"https://github.com/aphearin","followers_url":"https://api.github.com/users/aphearin/followers","following_url":"https://api.github.com/users/aphearin/following{/other_user}","gists_url":"https://api.github.com/users/aphearin/gists{/gist_id}","starred_url":"https://api.github.com/users/aphearin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aphearin/subscriptions","organizations_url":"https://api.github.com/users/aphearin/orgs","repos_url":"https://api.github.com/users/aphearin/repos","events_url":"https://api.github.com/users/aphearin/events{/privacy}","received_events_url":"https://api.github.com/users/aphearin/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2015-10-27T21:42:39Z","updated_at":"2015-10-30T14:09:25Z","closed_at":"2015-10-30T14:09:25Z","body":"Two basic use-cases:\r\n\r\n1. model_instance = HodModelFactory('zheng07', threshold = -21)\r\n\r\n2. model_instance = HodModelFactory(central_profile = some_component_instance, central_occupation = some_component_instance, satellite_occupation = some_component_instance, satellite_profile = some_component_instance)\r\n\r\nWhat I wonder is if a different class altogether shoud be used for these two cases. Of course (1) is just syntax candy for (2), with (2) being the fundamental thing. So in principle they could easily be called by the same factory class, but I'm not sure whether this would be confusing. An alternate version would be:\r\n\r\n1. model_instance = PrebuiltHodModelFactory(model_nickname, **kwargs)\r\n\r\nThat detail aside, thanks to @yymao for the input!"}}