Seems cleaner to list callback as an optional arg in the function header, with default value=None