Use Function.length to determine if this is a synchronous listener or a synchronous listener. Closes #5.