Fix issue #48

Wrap `define` in a self-invoked function.

I like this style because it keeps each scope clean and avoids `var`