JavaScript modules
containing chunks of code for later re-use
containing chunks of code for later re-use
performing more powerful functions such as transforming and filtering arrays
collecting several items in one container
collecting properties and values into containers
grouping code into actionable chunks
making events happen again and again