I guess it's time to share

tochinet
I hadn't looked at the code. I took a quick look and my conclusion is as follows

  1. I don't know the intention of the mybutton class and how it is setup. It may be that it is reused or is foreseen for future expansion. From what I know there is no reason to call it good or bad.
  2. I see plenty of
Serial.println("# probably doesn't exist");

If you want to run out of RAM that is what you need to do.
replacing all these by

Serial.println(F("# probably doesn't exist"));

will have a far more impact on memory usage than any code change without any risk of regression.

Best regards
Jantje