This allows users to completely configure the object at runtime.