Separate API and impl for important layers