Add showWithCallback() based on pull request #7 by tommycli (but in single commit)