Refact. Encapsulated many public fields.