Weellll.....
Do not think of an electron as a data bit. Electrons make up the voltage/current potential on a wire. If you are OK with the notion that a stream of electrons make up a current on a wire, then we can proceed.
lets take your flashlight as an example.
Hold your flash light and and press the button on and off. When you press the button, electrons flow from the negative terminal of the battery out to the light bulb, and back to the positive terminal. The current flow through the resistive element of lamp, glows, and produces visible light. Now some may say electrons flow from Positive to negative, but that is conventional flow, not electron flow. But for now, let’s just say current flows
So now we have power, what next.
Let say you want to send a code using you flash light. I am sure you have seen those war movies where the ships are using the lights to send messages to other ships using Morse code. However, mores code was not 1's and 0's. But a set pattern of Dots)(shorts) & Dashs(longs) for each letter in our alphabet.
For instance,
S = three dots ... (shorts)
O = three dashs --- (longs)
So for and SOS , the light flash from your flashlight should be three shorts flashes, then tree long flashes, and another three short flashes
. . . - - - . . .
That's cool, but the alphabet and the Morse code for each , was kind of hard to sequence without a lookup (hash) table.
So like the flash light, with electron flow, we have two possible states. ON, or OFF. If we call ON = 1, and OFF = 0 , we now have the Binary, or base 2 numbering system.
I can press the button on my flashlight for an ON state, or leave it off for an OFF state. The one problem with that is when do I know if your OFF is an actual piece of data, of if you just set it down, or your battery ran out?
With a binary stream, you now have to indicate a start, and then time each (1/O) to transmit at a clocked, or set speed.
Let say we have 4 BIT words . This would be the HEXIDECIMAL system were
0000 = 0
0001 = 1
etc where you have 0-9, and then A B C D F for a total count of 0-15 (or 16 states)
Pick a word like (1001) and then count for each second on the clock pressing the button for a 1, and not pressing as you count for the 0. Now before you do that, I need to know when you are going to start. So flash your light two times per second ,3 times, and then as the clock ticks then next second, flash out your 4-digit code. I will know to start recording after your quick 6-flashes. This is called handshaking. The handshake tells me that a data packet is coming, so start recording.
Now you can expand on then and calculate a parity bit and send it at the end so I can double check that the data stream I received is without error.
Now replace your flashlight with a driver circuit that produced current on a wire, and I replace my eyeball with a receptor, and timing circuit that will clock in the data, then store each BIT, and then clock it serially into a register to form a data BYTE, and then clock that out to the next layer for presentation.
(sidebar: REPLACE the flashlight with a Laser, and the copper wire with an optical wire, and you have FIBRE OPTIC catacomb.)
For higher speeds, with lees overhead in handshaking, you would add a separate wire for the timing clock, and a separate wire for acknowledgement form the receiver back to the transmitter, then clock completely controls the receiver.
Did this help at all

I got to rambling, hope it's readable.