Use a factory method for effects