Wrap everything in a self-invoking anonymous function