Why this is here? And the name of this interface is really confusing IMO.