Merge "refactor to allow more code reuse Merge from pi-car-dev to master Bug: 110376110 Test: Tested on device Change-Id: Ibfd85571b72d0bbc9277a1a68245fdac78fe9cc4"