pub trait Ownable { // Provided methods fn owner(&self) -> Address { ... } fn transfer_ownership(&mut self, new_owner: Address) -> Result<(), Error> { ... } }