Starting work on Feats.
Introduced FeatProperty which requires an implementation of applyTo(Avatar) and a revokeFrom(Avatar)