{"action":"created","issue":{"url":"https://api.github.com/repos/vinxi/vinxi/issues/16","repository_url":"https://api.github.com/repos/vinxi/vinxi","labels_url":"https://api.github.com/repos/vinxi/vinxi/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/vinxi/vinxi/issues/16/comments","events_url":"https://api.github.com/repos/vinxi/vinxi/issues/16/events","html_url":"https://github.com/vinxi/vinxi/issues/16","id":145754298,"number":16,"title":"Plugin / Provider layer","user":{"login":"h2non","id":63402,"avatar_url":"https://avatars.githubusercontent.com/u/63402?v=3","gravatar_id":"","url":"https://api.github.com/users/h2non","html_url":"https://github.com/h2non","followers_url":"https://api.github.com/users/h2non/followers","following_url":"https://api.github.com/users/h2non/following{/other_user}","gists_url":"https://api.github.com/users/h2non/gists{/gist_id}","starred_url":"https://api.github.com/users/h2non/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h2non/subscriptions","organizations_url":"https://api.github.com/users/h2non/orgs","repos_url":"https://api.github.com/users/h2non/repos","events_url":"https://api.github.com/users/h2non/events{/privacy}","received_events_url":"https://api.github.com/users/h2non/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/vinxi/vinxi/labels/feature%20request","name":"feature request","color":"eb6420"},{"url":"https://api.github.com/repos/vinxi/vinxi/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-04T17:45:19Z","updated_at":"2016-04-05T10:54:29Z","closed_at":null,"body":"This is more than a simple middleware handler. Plugin can provide behavior and features to the proxy and most importantly, to another components. Middleware handler are by default closed to external modification, at least via internal vinxi API.\r\n\r\nThis requires some discussion."},"comment":{"url":"https://api.github.com/repos/vinxi/vinxi/issues/comments/205754999","html_url":"https://github.com/vinxi/vinxi/issues/16#issuecomment-205754999","issue_url":"https://api.github.com/repos/vinxi/vinxi/issues/16","id":205754999,"user":{"login":"groyoh","id":7434196,"avatar_url":"https://avatars.githubusercontent.com/u/7434196?v=3","gravatar_id":"","url":"https://api.github.com/users/groyoh","html_url":"https://github.com/groyoh","followers_url":"https://api.github.com/users/groyoh/followers","following_url":"https://api.github.com/users/groyoh/following{/other_user}","gists_url":"https://api.github.com/users/groyoh/gists{/gist_id}","starred_url":"https://api.github.com/users/groyoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/groyoh/subscriptions","organizations_url":"https://api.github.com/users/groyoh/orgs","repos_url":"https://api.github.com/users/groyoh/repos","events_url":"https://api.github.com/users/groyoh/events{/privacy}","received_events_url":"https://api.github.com/users/groyoh/received_events","type":"User","site_admin":false},"created_at":"2016-04-05T10:54:29Z","updated_at":"2016-04-05T10:54:29Z","body":"If I get your idea, `ServiceProvider` would basically be third parties implementing their own logic? Is `Provider/Component` from the third-party or from the user? When the `ServiceProdiver` provides a `Logger` and not a `Metrics`, is a default `Metrics` provided? Do the user have to check that these elements are available?"}}