* Use a factory to perform steps