{"action":"created","issue":{"url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8785","labels_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8785/labels{/name}","comments_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8785/comments","events_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8785/events","html_url":"https://github.com/OpenRA/OpenRA/pull/8785","id":97251343,"number":8785,"title":"Singleton Traits - Implicit & Interface (Inter-Trait Handling Part 1)","user":{"login":"atlimit8","id":4957137,"avatar_url":"https://avatars.githubusercontent.com/u/4957137?v=3","gravatar_id":"","url":"https://api.github.com/users/atlimit8","html_url":"https://github.com/atlimit8","followers_url":"https://api.github.com/users/atlimit8/followers","following_url":"https://api.github.com/users/atlimit8/following{/other_user}","gists_url":"https://api.github.com/users/atlimit8/gists{/gist_id}","starred_url":"https://api.github.com/users/atlimit8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atlimit8/subscriptions","organizations_url":"https://api.github.com/users/atlimit8/orgs","repos_url":"https://api.github.com/users/atlimit8/repos","events_url":"https://api.github.com/users/atlimit8/events{/privacy}","received_events_url":"https://api.github.com/users/atlimit8/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-25T20:02:16Z","updated_at":"2015-07-27T09:25:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/OpenRA/OpenRA/pulls/8785","html_url":"https://github.com/OpenRA/OpenRA/pull/8785","diff_url":"https://github.com/OpenRA/OpenRA/pull/8785.diff","patch_url":"https://github.com/OpenRA/OpenRA/pull/8785.patch"},"body":"Requires #8774 and is how I discovered that issue.\r\n\r\nAllows for singleton traits, that coordinate or otherwise manage other traits, such as `UpgradeManager` to be included automatically and allows checking for inclusion of multiple traits implementing the same singleton interface (usually accessed by `.Trait[OrDefault]` or `.Traits.Get[OrDefault]`).\r\nIs part of my effort to improve inter-trait handling (#8786)."},"comment":{"url":"https://api.github.com/repos/OpenRA/OpenRA/issues/comments/125141494","html_url":"https://github.com/OpenRA/OpenRA/pull/8785#issuecomment-125141494","issue_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8785","id":125141494,"user":{"login":"atlimit8","id":4957137,"avatar_url":"https://avatars.githubusercontent.com/u/4957137?v=3","gravatar_id":"","url":"https://api.github.com/users/atlimit8","html_url":"https://github.com/atlimit8","followers_url":"https://api.github.com/users/atlimit8/followers","following_url":"https://api.github.com/users/atlimit8/following{/other_user}","gists_url":"https://api.github.com/users/atlimit8/gists{/gist_id}","starred_url":"https://api.github.com/users/atlimit8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atlimit8/subscriptions","organizations_url":"https://api.github.com/users/atlimit8/orgs","repos_url":"https://api.github.com/users/atlimit8/repos","events_url":"https://api.github.com/users/atlimit8/events{/privacy}","received_events_url":"https://api.github.com/users/atlimit8/received_events","type":"User","site_admin":false},"created_at":"2015-07-27T09:25:52Z","updated_at":"2015-07-27T09:25:52Z","body":"FYI: that won't handle mutually cached traits; that is why I created this design (#8786)."}}