Closures are logical but subtle and you need to make sure that you really understand them. This is made easier if you think about a closure as a preserved execution context. In this extract from my recent book the emphasis is on when functions share that context.