This one uses shift registers. One of them is connected to a button and some leds so You can see and enter data in that particular register. There is one IO-register and 4 data registers, logical operations are performed on some of the storage registers. Data flow between the registers is controlled by the use of patch-cables.
Some 555-circuitry still needs to be setup to debounce the switches, but until then, an arduino should do the job. It also generates eight clock pulses for convenient register-to register transfer.