ActiveQueryTrait depends on it so it has to be implemented. Maybe not needed to be in interface so that we can allow different implementation in ActiveQuery.