Implementing interfaces in JavaScript with Implement.js
medium.com