refactor: hide driver implementation detail from Object struct