a better typealias name
callbacks should return a value