Gum overlay logic

I did some rebasing and used git push force and I managed to loose the reference to the original pull request #229.

Anyway I've fixed the changes based on the comments in #229 and made a clean pull request.

Sorry for the hassle.

Fixes #137 .
Please find out what is the event that happens between 0-300ms in your machine that this code should wait for. Waiting for "long-enough"-in-my-machine is not good enough.