EffectChainFactory modified to only have an initEffectChain method that returns the current instance of EffectChain.

EffectChain modified: added a static variable id_count to keep track of unique ID for each effect. addEffect (sets and returns ID), removeEffect (returns bool), getEffect (parameter ID), getNumOfEffects (returns numOfEffects)