I thought of a matrix, but my code might become very complex so I'm trying to keep the basic structure as simple as possible.

That and I have the pins available.