Technically, no. This could get away with using the parents public setter instead. However this would mean the options object would not be an instance of MongoDBOptions.

I could drop the MongoDBOptions altogether, but I'm not a fan of the magic __get and __set functions. However I will go with whatever is required on this