UserOptions now insists on all parameters being passed.
UserOptionEngine is complete.