## 🚀 Feature Proposal

I suggest
1. either to add method `getId()` to interface `WebElement`, or
2. to create interface like `HasId` or `HasIdentity` and make `RemoteWebElement` implement it. 

## Motivation

People often cast `WebElement` to `RemoteWebElement` just to call method `getId()`. 
De-facto all implementations of `WebElement` have method `getId()`. 
For me, it's a problem because `RemoteWebElement` is a class, not interface, and therefore I cannot create a proxy object for it in Selenide. I need some interface with method `getId()`. 

public void clear() {
    execute(DriverCommand.CLEAR_ELEMENT(id));
  }
  @Override
  public String getTagName() {
    return (String) execute(DriverCommand.GET_ELEMENT_TAG_NAME(id))
      .getValue();
  }
  @Override
  public String getDomProperty(String name) {
    return stringValueOf(
      execute(DriverCommand.GET_ELEMENT_DOM_PROPERTY(id, name))
        .getValue());
  }
  @Override
  public String getDomAttribute(String name) {
    return stringValueOf(
      execute(DriverCommand.GET_ELEMENT_DOM_ATTRIBUTE(id, name))
        .getValue());
  }
  @Override
  public String getAttribute(String name) {
    return stringValueOf(
      execute(DriverCommand.GET_ELEMENT_ATTRIBUTE(id, name))
        .getValue());
  }
  @Override
  public String getAriaRole() {
    return stringValueOf(
      execute(DriverCommand.GET_ELEMENT_ARIA_ROLE(id))