Refactoring: DRY _interactive method implementation