The general idea of the Class' initialize function is to have required parameters as arguments to the function, and an array of optional parameters as last argument.
If the `target` parameter is optional, maybe you should consider it should be part of the `options` you're setting, rather than being an argument to the initialize function, since having `options` as first argument makes it a required argument if you *do* want to set that `target`.
