https://www.ruanyifeng.com/blog/2012/10/javascript_module.html
https://wohugb.gitbooks.io/ecmascript-6/content/docs/class.html