Well, they're both optional, but only if you want to manually call `_createWidget()`. `$.ui.foo()` and `new $.ui.foo()` behave differently with no arguments. If you use `new`, you must provide `options` to have it actually do the creation tasks.