Minimal OOP for ES5 JavaScript