Practical Design patterns implemented in ES6 ES6 implemented design patterns. Structural-Creational-Behavioural