What's the correct syntax for passing arguments to an IIFE stored in a variable?

Example below tells me that `foo` is not defined, regardless on if I call the function or not:

```
var bar = (function(foo){

    return { 
        getFoo: function(){
            return foo;
        } 
    }

})(foo);

console.log(bar.getFoo(1));

```

<http://jsfiddle.net/eSTkL/>