Look into the possibility of having synchronous functions that return values in addition to the current callback variants.