queue memory - isEmpty should have callback