{"action":"created","issue":{"url":"https://api.github.com/repos/typesafehub/reactive-services-platform/issues/1","labels_url":"https://api.github.com/repos/typesafehub/reactive-services-platform/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/typesafehub/reactive-services-platform/issues/1/comments","events_url":"https://api.github.com/repos/typesafehub/reactive-services-platform/issues/1/events","html_url":"https://github.com/typesafehub/reactive-services-platform/pull/1","id":113362758,"number":1,"title":"prototype of persistence api","user":{"login":"patriknw","id":336161,"avatar_url":"https://avatars.githubusercontent.com/u/336161?v=3","gravatar_id":"","url":"https://api.github.com/users/patriknw","html_url":"https://github.com/patriknw","followers_url":"https://api.github.com/users/patriknw/followers","following_url":"https://api.github.com/users/patriknw/following{/other_user}","gists_url":"https://api.github.com/users/patriknw/gists{/gist_id}","starred_url":"https://api.github.com/users/patriknw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patriknw/subscriptions","organizations_url":"https://api.github.com/users/patriknw/orgs","repos_url":"https://api.github.com/users/patriknw/repos","events_url":"https://api.github.com/users/patriknw/events{/privacy}","received_events_url":"https://api.github.com/users/patriknw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-10-26T14:09:02Z","updated_at":"2015-10-27T10:58:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/typesafehub/reactive-services-platform/pulls/1","html_url":"https://github.com/typesafehub/reactive-services-platform/pull/1","diff_url":"https://github.com/typesafehub/reactive-services-platform/pull/1.diff","patch_url":"https://github.com/typesafehub/reactive-services-platform/pull/1.patch"},"body":"I'll describe the alternatives shortly"},"comment":{"url":"https://api.github.com/repos/typesafehub/reactive-services-platform/issues/comments/151455804","html_url":"https://github.com/typesafehub/reactive-services-platform/pull/1#issuecomment-151455804","issue_url":"https://api.github.com/repos/typesafehub/reactive-services-platform/issues/1","id":151455804,"user":{"login":"drewhk","id":932285,"avatar_url":"https://avatars.githubusercontent.com/u/932285?v=3","gravatar_id":"","url":"https://api.github.com/users/drewhk","html_url":"https://github.com/drewhk","followers_url":"https://api.github.com/users/drewhk/followers","following_url":"https://api.github.com/users/drewhk/following{/other_user}","gists_url":"https://api.github.com/users/drewhk/gists{/gist_id}","starred_url":"https://api.github.com/users/drewhk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drewhk/subscriptions","organizations_url":"https://api.github.com/users/drewhk/orgs","repos_url":"https://api.github.com/users/drewhk/repos","events_url":"https://api.github.com/users/drewhk/events{/privacy}","received_events_url":"https://api.github.com/users/drewhk/received_events","type":"User","site_admin":false},"created_at":"2015-10-27T10:58:39Z","updated_at":"2015-10-27T10:58:39Z","body":"Looks nice!\r\n\r\nI tend to prefer version 3 (active events), but I see why there are worries about that. I think it is more dangerous, but also more intuitive, so it is not an easy choice for me.\r\n\r\nRandom thoughts (in no particular order or relevance or for this PR even):\r\n - would be interesting to see the failure paths\r\n - see a version without explicit lambdas but using annotated methods maybe (where it makes sense)?\r\n - would be interesting to mark/annotate events for audit logs (this is view side of course, but this where we can get tremendous power)\r\n - also interesting to be able to able to express command filters explicitly, for example security can be expressed as (principal, command) -> rejectOrAction"}}