Added PDEntity protocol and PDEntityProvider