[Refactored] LairObserver to better support future spawn observer types

Change-Id: I3a069e53b52b813fba2e4b89115303f8951356f8