A switch (100; 200) comprising: a switch housing (110; 210); a printed circuit board (160; 270) mounted to the switch housing (110; 210) and including at least a first magnet sensor (170A; 280A) and a second magnet sensor (170B; 280B); a button (120; 220) moveably mounted to the switch housing (110; 210), the button (120; 220) being moveable about a first axis (A 1) between at least a first button position, a second button position, and a third button position; a magnet holder (140; 250) in contact with the button (120; 220) and moveably mounted to the switch housing (110; 210), wherein the magnet holder (140; 250) is moveable about a second axis (A 2), wherein the magnet holder (140; 250) holds at least a first magnet (150A; 260A) having a first polarity, a second magnet (150B; 260B) having a second polarity different from the first polarity, a third magnet (150C; 260C) having the second polarity, and a fourth magnet (150D; 260D) having the first polarity, wherein when the button (120; 220) is in the first button position, the button (120; 220) biases the magnet holder (140; 250) to a first magnet holder position, in which the first magnet (150A; 260A) is proximate to the first magnet sensor (170A; 280A) and the second magnet (150B; 260B) is proximate to the second magnet sensor (170B; 280B), wherein when the button (120; 220) is in the second button position, the button (120; 220) biases the magnet holder (140; 250) to a second magnet holder position, in which the second magnet (150B; 260B) is proximate to the first magnet sensor (170A; 280A) and the third magnet (150C; 260C) is proximate to the second magnet sensor (170B; 280B), wherein when the button (120; 220) is in the third button position, the button (120; 220) biases the magnet holder (140; 250) to a third magnet holder position, in which the third magnet (150C; 260C) is proximate to the first magnet sensor (170A; 280A) and the fourth magnet (150D; 260D) is proximate to the second magnet sensor (170B; 280B); characterised in that the first axis is different from the second axis. a switch housing (110; 210); a printed circuit board (160; 270) mounted to the switch housing (110; 210) and including at least a first magnet sensor (170A; 280A) and a second magnet sensor (170B; 280B); a button (120; 220) moveably mounted to the switch housing (110; 210), the button (120; 220) being moveable about a first axis (A 1) between at least a first button position, a second button position, and a third button position; a magnet holder (140; 250) in contact with the button (120; 220) and moveably mounted to the switch housing (110; 210), wherein the magnet holder (140; 250) is moveable about a second axis (A 2), wherein the magnet holder (140; 250) holds at least a first magnet (150A; 260A) having a first polarity, a second magnet (150B; 260B) having a second polarity different from the first polarity, a third magnet (150C; 260C) having the second polarity, and a fourth magnet (150D; 260D) having the first polarity, wherein when the button (120; 220) is in the first button position, the button (120; 220) biases the magnet holder (140; 250) to a first magnet holder position, in which the first magnet (150A; 260A) is proximate to the first magnet sensor (170A; 280A) and the second magnet (150B; 260B) is proximate to the second magnet sensor (170B; 280B), wherein when the button (120; 220) is in the second button position, the button (120; 220) biases the magnet holder (140; 250) to a second magnet holder position, in which the second magnet (150B; 260B) is proximate to the first magnet sensor (170A; 280A) and the third magnet (150C; 260C) is proximate to the second magnet sensor (170B; 280B), wherein when the button (120; 220) is in the third button position, the button (120; 220) biases the magnet holder (140; 250) to a third magnet holder position, in which the third magnet (150C; 260C) is proximate to the first magnet sensor (170A; 280A) and the fourth magnet (150D; 260D) is proximate to the second magnet sensor (170B; 280B); wherein the magnet holder (140; 250) holds at least a first magnet (150A; 260A) having a first polarity, a second magnet (150B; 260B) having a second polarity different from the first polarity, a third magnet (150C; 260C) having the second polarity, and a fourth magnet (150D; 260D) having the first polarity, wherein when the button (120; 220) is in the first button position, the button (120; 220) biases the magnet holder (140; 250) to a first magnet holder position, in which the first magnet (150A; 260A) is proximate to the first magnet sensor (170A; 280A) and the second magnet (150B; 260B) is proximate to the second magnet sensor (170B; 280B), wherein when the button (120; 220) is in the second button position, the button (120; 220) biases the magnet holder (140; 250) to a second magnet holder position, in which the second magnet (150B; 260B) is proximate to the first magnet sensor (170A; 280A) and the third magnet (150C; 260C) is proximate to the second magnet sensor (170B; 280B), wherein when the button (120; 220) is in the third button position, the button (120; 220) biases the magnet holder (140; 250) to a third magnet holder position, in which the third magnet (150C; 260C) is proximate to the first magnet sensor (170A; 280A) and the fourth magnet (150D; 260D) is proximate to the second magnet sensor (170B; 280B);