I think these members should be `protected`?