Completely remade how effects are created internally. No interface change.