Could this be a __Function\<String, S>__ instead? This class is a little more reusable then. RoveLineParser can extend that.