Refactor for objects to use prompters as subs for input and output