Pudge can now be hooked
Update PudgeEntity to use state pattern