In JavaScript, a factory is simply a function whose purpose is to build and return an object. Factories abound in JavaScript. This chapter analyzes the reasons for the need to use a factory to create an object instead of new or an ordinary function call. Broadly speaking, there are two reasons: increased control and increased abstraction. The chapter presents an example that illustrates both. The JavaScript conference whose website is developed here is be packed with presentations. There are two kinds of presentations: regular presentations and presentations by vendors. The basic presentation has a title and an optional presenter. The factory in the chapter has just one function: create. The chapter highlights that a factory is a natural candidate for a singleton, and that a factory gives increased control over the creation of objects and provides an extra layer of abstraction.