change semantics of swap and swap player so we are recycling players more aggressively
all queueing works. now to add skip to beginning and stop