Concepts that make up a javascript framework