Use instance variables internally to allow monkey-patching readers