Simplify anchoring to improve performance, and unify empty state using ViewPlaceholder