Open questions: - How should the async and sync versions of methods be distinguished? - Multiple crates or feature flags?