Add WithInput trait