Improving interfaces; adding const where possible, commenting member data.