Add remove capability and refactor playlist cycling