nit:

    self.base.position.size.height = if self.is_fixed {
        height
    } else {
        height + noncontent_height
    };