pub trait PhoneCodeBackend: Send + Sync {
// Required methods
fn put(&self, phone: &str, code: &PhoneCode);
fn get(&self, phone: &str) -> Option<PhoneCode>;
fn remove(&self, phone: &str);
fn put_attempts(&self, phone: &str, attempts: u32);
}