* perf: lazy-load logged-in observers, fix circular dependencies * I guess async deps don't count as circular deps