Make the properties const-correct and add more features.