Experiment with design; decouple the GitCommands module from the DiffAdd class, use attr_reader to access instance vars and split methods into logical parts