Simple Rail System (Rail Block/Train Block)
Simple linear moving block within straight line.
Like in Source engine func_tracktrain that follow path_track entity.
In SE the Blast block (the pointy one) can act as Rail block (path_track) and the block that is inverted to that pointy blast block (not in SE) can act as TrainBlock (func_tracktrain).
All that pointy blast block in straight line can represent "rail" and first and last will be "start keyframe" and "end keyframe".
Then this line can act and tell the train block, how long it is. Count how many of the Rail blocks (pointy blast block) are there, so the train block can move within that line.
As Piston is already doing his but in limited distance, i do not get why this it is not in SE already.
With this Rail Block/Train Block you can do easy elevators/hangar_doors just by telling the distance to the TrainBlock and it will go there like piston head do.