code/modules/research/gizmo/gizmo_interface.dm 
| /datum/gizmo_interface | Essentially a small wrapper that holds the puzzle datum and connects it with the operating modes of the machine |
|---|---|
| /datum/gizmo_interface/beyblade | Moves around. Guaranteed to have a mode that controles the movement |
| /datum/gizmo_interface/toggle | Guaranteed to have a lights mode |
| /datum/gizmo_interface/voice_unlock | Guaranteed to have a mode that will give a voice components secret keywords. Assumes there's a voice interface added by the gizmo_controller |
| /datum/gizmo_interface/voice | For the actual voice operated puzzle. Is a bit more forgiving |
| /datum/gizmo_interface/cursed | Always bad! |