Add `OverlayTrigger` and refactor `LayeredComponentMixin` to `OverlayTriggerMixin`