{"action":"opened","issue":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/447","labels_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/447/labels{/name}","comments_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/447/comments","events_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/447/events","html_url":"https://github.com/Dash-Industry-Forum/dash.js/issues/447","id":59640893,"number":447,"title":"Can we break away from the 'revealing module' pattern?","user":{"login":"kfwerf","id":2470735,"avatar_url":"https://avatars.githubusercontent.com/u/2470735?v=3","gravatar_id":"","url":"https://api.github.com/users/kfwerf","html_url":"https://github.com/kfwerf","followers_url":"https://api.github.com/users/kfwerf/followers","following_url":"https://api.github.com/users/kfwerf/following{/other_user}","gists_url":"https://api.github.com/users/kfwerf/gists{/gist_id}","starred_url":"https://api.github.com/users/kfwerf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kfwerf/subscriptions","organizations_url":"https://api.github.com/users/kfwerf/orgs","repos_url":"https://api.github.com/users/kfwerf/repos","events_url":"https://api.github.com/users/kfwerf/events{/privacy}","received_events_url":"https://api.github.com/users/kfwerf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-03T13:25:54Z","updated_at":"2015-03-03T13:25:54Z","closed_at":null,"body":"Hi guys,\r\n\r\nI have been following this project extensively and one of my main gripes with this project is the way its sealing off vars. Why is the project using this revealing module pattern, where we seal off vars to keep them 'private'. I quote private here because we basically make them inaccessible for any function or mixin that wants to extends upon this.\r\n\r\nAm i doing something wrong with implementing this? For instance i want to make some changes to drms parts, liveedge parts and abr logic. I am basically being forced to copy and paste everything.\r\n\r\nThis makes it very cumbersome to add to the project or extend parts of it.\r\n\r\nit could be so much easier if the project didn't use this pattern, the extensibility would become much greater. E.g. MediaPlayer i cant extend for the life of me and because of inaccessible vars i feel forced to just copy paste and make it as my own..\r\n\r\nAny thoughts on this? "}}