title: How to observe Changes in Shared Preference using LiveData?
body: <p>Recently, I had a requirement in one of my projects to observe the changes in SharedPreferences throughout my app (I had activity, Foreground Service and BroadcastReciever which would react differently to changes in SharedPreferences). I also wanted to listen for these changes only when my corresponding AppComponents are active. As such, LiveData would be what will suit my requirement but what would be the best approach to do so? </p>
  
  <p>(Asking the question for documentation purpose, would love to see any better implementation than one in the answer below ) </p>