first stab at new queue system. still need to implement emit queue.