Here's an extra idea to try...
Put your button components into a list at startup time,
and arrange them vertically in a horizontal arrangement on the left,
with a long vertical thin canvas on the right.
Add a little ball to the vertical canvas as a scroll bar.
Use the relative vertical position of the dragged ball in the canvas
to control which section (maybe 3 buttons) of the list are visible at a time.
See this doc and app for an example of using a canvas as a scroll bar
(different app) ...
For your purposes, there is no real scrolling here, just visibility control.
ABG