more work on making the SharedQueueWithBinding easier to use and understand