Following is the top-level architecture of my application:
In this architecture Beacon Service is a foreground service that is listening for beacon data