You should first check the public property before __call IMO to be more BC