Refactor attribute readers