Block a user
Simplify: one abstract base class per layer
Simplify: one abstract base class per layer
Closing: this work is included in #2 (sync), which now targets main directly.
Composite storage with SSE sync, IndexedDB and offline outbox