Use macros and shared examples to refactor queue item controller