{"action":"created","issue":{"url":"https://api.github.com/repos/esp/esp-net/issues/13","labels_url":"https://api.github.com/repos/esp/esp-net/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/esp/esp-net/issues/13/comments","events_url":"https://api.github.com/repos/esp/esp-net/issues/13/events","html_url":"https://github.com/esp/esp-net/issues/13","id":92536753,"number":13,"title":"Use named delegates for `Observe` function","user":{"login":"JakeGinnivan","id":453152,"avatar_url":"https://avatars.githubusercontent.com/u/453152?v=3","gravatar_id":"","url":"https://api.github.com/users/JakeGinnivan","html_url":"https://github.com/JakeGinnivan","followers_url":"https://api.github.com/users/JakeGinnivan/followers","following_url":"https://api.github.com/users/JakeGinnivan/following{/other_user}","gists_url":"https://api.github.com/users/JakeGinnivan/gists{/gist_id}","starred_url":"https://api.github.com/users/JakeGinnivan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JakeGinnivan/subscriptions","organizations_url":"https://api.github.com/users/JakeGinnivan/orgs","repos_url":"https://api.github.com/users/JakeGinnivan/repos","events_url":"https://api.github.com/users/JakeGinnivan/events{/privacy}","received_events_url":"https://api.github.com/users/JakeGinnivan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-02T03:23:00Z","updated_at":"2015-07-04T09:27:27Z","closed_at":null,"body":"That way r# can inspect the property names.\r\n\r\nSo instead of:\r\n```\r\nIDisposable Observe(Action<TModel, TEvent> onNext);\r\nIDisposable Observe(Action<TModel, TEvent, TContext> onNext);\r\n```\r\n\r\nHave\r\n```\r\npublic delegate void ObserverDelegate<TModel, TEvent>(TModel model, TEvent e);\r\npublic delegate void ObserverDelegate<TModel, TEvent, TContext>(TModel model, TEvent e, TContext context);\r\n\r\nIDisposable Observe(ObserverDelegate<TModel, TEvent> onNext);\r\nIDisposable Observe(ObserverDelegate<TModel, TEvent, TContext> onNext);\r\n```\r\nName probably can be better but when you use r# smart completion you will get `(model, e, context) => ` rather than `(modelType, @event, arg3) => `"},"comment":{"url":"https://api.github.com/repos/esp/esp-net/issues/comments/118491590","html_url":"https://github.com/esp/esp-net/issues/13#issuecomment-118491590","issue_url":"https://api.github.com/repos/esp/esp-net/issues/13","id":118491590,"user":{"login":"KeithWoods","id":2853674,"avatar_url":"https://avatars.githubusercontent.com/u/2853674?v=3","gravatar_id":"","url":"https://api.github.com/users/KeithWoods","html_url":"https://github.com/KeithWoods","followers_url":"https://api.github.com/users/KeithWoods/followers","following_url":"https://api.github.com/users/KeithWoods/following{/other_user}","gists_url":"https://api.github.com/users/KeithWoods/gists{/gist_id}","starred_url":"https://api.github.com/users/KeithWoods/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KeithWoods/subscriptions","organizations_url":"https://api.github.com/users/KeithWoods/orgs","repos_url":"https://api.github.com/users/KeithWoods/repos","events_url":"https://api.github.com/users/KeithWoods/events{/privacy}","received_events_url":"https://api.github.com/users/KeithWoods/received_events","type":"User","site_admin":false},"created_at":"2015-07-04T09:27:27Z","updated_at":"2015-07-04T09:27:27Z","body":"Makes sense. We should do this for sure.  "}}