Best way to implement score board logic using Arduino and Shift Registers? I am from a mobile development background and very new to Arduino. I am trying to make an electronic cricket score board. The logic is simple. 

Score - 888 (3 Digits) - I have implemented this logic using shift registers.  Three pin used from Arduino Uno and this is working fine.

Overs - 88 (2 Digits) - Need to find a best way to implement it

Wickets - 8 (1 Digit) - Need to find a best way to implement it

Now I need to add Wickets and Overs to the logic. I think there are two ways to do it. 


One is passing data from Score shift registers. I think this way is a bit complicated in logic level. But if this is a good way, then great.
The other is, connect to Arduino Uno pins directly rather than getting information from score shift registers.  There are only few pins.


Please Note: I need to print this design in PCB

This might be a basic question. But I would like to the know which way is efficient, and its advantages. If both are not, I would like to the know the best one.
There isn't really a best way (and such questions are usually discouraged as they can easily descend into argument).

Personally I would go for chaining all of the '595s together so you only ever use the 3 pins; it gives you the opportunity to use a smaller MCU like the ATtiny when you put it all on a board later which makes it (slightly) cheaper and (potentially) smaller.

From a software point of view, it doesn't make a huge amount of difference - doing it the way I have suggested means you send the 3 values out in the correct order every time one of them updates. Separating the 3 scores with their own dedicated pins means juggling which one needs to be updated each time. Neither option is particularly complicated and with this sort of application efficiency of code is mostly redundant because the entire MCU is dedicated to the (simple) task.