I wired two existing hanging lamps together with a two-circuit pull-chain switch. When the chain is pulled once, the bottom lamp (task light) turns on. When it is pulled a second time, the top lamp (ambient light) turns on and the bottom light turns off. When pulled a third time, both lamps turn on. Fourth pull- both off. I disassembled the mechanism shortly after, just a proof of concept.
Video demo: