Everything in your example is synchronous. The fact that you have callbacks or wrappers doesn't make event flow asynchronous (I recommend you to read how browsers javascrpt event queue works for example here http://javascript.info/tutorial/events-and-timing-depth#javascript-execution-and-rendering).
I don't see any sense in your wrapper. Sorry, and still don't get what you are trying to accomplish.
Here you will get async flow if you use timeout and you will get the element.