Refactor methods into clearer, smaller ones; use GitCommand's eigenclass to define its class methods