1. Make everything invisible, that is not used outside a module (including struct fields), add potential getters if only ro access required 2. Prefer `pub super` for module based visibility, if read only access is not required from outside
pub superfor module based visibility, if read only access is not required from outside