Como criar uma função encadeada em JavaScript?

Vamos imaginar funcionar assim:

function foo(x) {
    x += '+';
    return x;
}

Uso do que seria como:

var x, y;
x = 'Notepad';
y = foo(x);
console.log(y); // Prints 'Notepad+'.

Estou procurando uma maneira de criar uma função que possa ser encadeada com outras funçõe

Imagine uso:

var x, y;
x = 'Notepad';
y = x.foo().foo().toUpperCase(); // Prints 'NOTEPAD++'.
console.log(y);

Como eu faria isso

questionAnswers(2)

yourAnswerToTheQuestion