{"action":"created","issue":{"url":"https://api.github.com/repos/JohnEstropia/CoreStore/issues/23","labels_url":"https://api.github.com/repos/JohnEstropia/CoreStore/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/JohnEstropia/CoreStore/issues/23/comments","events_url":"https://api.github.com/repos/JohnEstropia/CoreStore/issues/23/events","html_url":"https://github.com/JohnEstropia/CoreStore/issues/23","id":118017455,"number":23,"title":"Poll: Need opinions on new features","user":{"login":"JohnEstropia","id":3029684,"avatar_url":"https://avatars.githubusercontent.com/u/3029684?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnEstropia","html_url":"https://github.com/JohnEstropia","followers_url":"https://api.github.com/users/JohnEstropia/followers","following_url":"https://api.github.com/users/JohnEstropia/following{/other_user}","gists_url":"https://api.github.com/users/JohnEstropia/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnEstropia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnEstropia/subscriptions","organizations_url":"https://api.github.com/users/JohnEstropia/orgs","repos_url":"https://api.github.com/users/JohnEstropia/repos","events_url":"https://api.github.com/users/JohnEstropia/events{/privacy}","received_events_url":"https://api.github.com/users/JohnEstropia/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JohnEstropia/CoreStore/labels/help%20wanted","name":"help wanted","color":"159818"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-20T11:09:03Z","updated_at":"2015-11-22T14:22:50Z","closed_at":null,"body":"CoreStore's features right now are mostly ones that I needed on Swift projects I have been involved \r\nwith so far, but I am curious as to what features other apps may be looking for.\r\n\r\nI've thought of a few, you can vote for them here: http://goo.gl/RIiHMP\r\nI'd appreciate any suggestions in this thread as well :)\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/JohnEstropia/CoreStore/issues/comments/158762953","html_url":"https://github.com/JohnEstropia/CoreStore/issues/23#issuecomment-158762953","issue_url":"https://api.github.com/repos/JohnEstropia/CoreStore/issues/23","id":158762953,"user":{"login":"JohnEstropia","id":3029684,"avatar_url":"https://avatars.githubusercontent.com/u/3029684?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnEstropia","html_url":"https://github.com/JohnEstropia","followers_url":"https://api.github.com/users/JohnEstropia/followers","following_url":"https://api.github.com/users/JohnEstropia/following{/other_user}","gists_url":"https://api.github.com/users/JohnEstropia/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnEstropia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnEstropia/subscriptions","organizations_url":"https://api.github.com/users/JohnEstropia/orgs","repos_url":"https://api.github.com/users/JohnEstropia/repos","events_url":"https://api.github.com/users/JohnEstropia/events{/privacy}","received_events_url":"https://api.github.com/users/JohnEstropia/received_events","type":"User","site_admin":false},"created_at":"2015-11-22T14:22:50Z","updated_at":"2015-11-22T14:22:50Z","body":"@vburojevic From my understanding, RX's support for \"delegates\" is designed for cocoa's `id delegate` paradigm (i.e. typeless), which is really against `ListMonitor`'s purpose. I think by creating a custom `ListObserver` classthat\r\n\r\n1. stores an `ObserverOf<(ListEntityType, NSIndexPath)>` property\r\n2. implements all `ListObserver` methods and calls \r\n```swift\r\nself.observer.on(.Next(.Update /* or .Move etc.*/(object, indexPath)))\r\n```\r\nin each method with the corresponding `RxEvent`,\r\n\r\nYou can probably write an extension on `ListMonitor`:\r\n```swift\r\nextension ListMonitor {\r\n// ...\r\nfunc rx_inserted(...) -> Observable<(ListEntityType, NSIndexPath)>\r\nfunc rx_updated(...) -> Observable<(ListEntityType, NSIndexPath)>\r\nfunc rx_deleted(...) -> Observable<(ListEntityType, NSIndexPath)>\r\n```\r\n\r\nI haven't thought about it too much yet, but if RX is to be supported *internally* by CoreStore I'm thinking implementing `PublishSubject` on `ListMonitor` makes the most sense. I might be wrong though (I just started using RXSwift this week).\r\n\r\nIf you'd like to continue this discussion, you can create a separate issue for it :)"}}