• es6 imports / exports to break up chunks of code
  • Use functions, constructors, and classes to create inheritance and reusable code
  • Use anonymous functions where needed to prevent namespace collision
  • JS publish/subscribe pattern