Why all properties public?