RegisterEffect
implemented some TODOs