We should move this (and also the change in `Module`) back to `init()`. The general practice is that `init()` is the place to verify the property configuration and set default values if needed. Another point is that parent implementation should usually be called at the beginning or end of the method, instead of in the middle.