Change NumberList to take std::function's and use lambda closures
instead of having to create full classes in order to process number
lists.