When composing objects with functions, what's the proper way to pass parameters *within* the composition object?

For example:

```
// functions
const sayHi = () => {
    console.log('Hi!');
};

const greetPerson = (name) => {
    console.log(`Hello there, ${name}!`);
};

// "composition" objects, referring to the functions above
const hi = {
    'id': 1,
    'speak': sayHi
};

const greetWorld = {
    'id': 2,
    'speak': greetPerson('World')  // how do I go about passing the function a parameter here?
};

const greetMars = {
    'id': 3,
    'speak': greetPerson('Mars')
};

// register and run each
const salutations = [hi, greetWorld, greetMars];

for (let salutation of salutations) {
    salutation.speak();
}

```

The output when I run this is:

```
$ node sayHi.js
Hello there, World!
Hello there, Mars!
Hi!
/Users/rotarydial/sayHi.js:21
    salutation.speak();

TypeError: salutation.speak is not a function

```

How do I handle this properly so I can pass `greetPerson()` a parameter in the `greet` object?