Cleaned up Enchantment, added factory methods, implemented MobTarget and
Enchant hooks