So I am giving up and asking for help:
I have a button class, which should be updated every frame. If it's active, it should call a function, which may or may not have arguments. I thought of using public functions in a class, and passing them to std::function, but that is just not good, as it's messing all the accesses so much. I could handle that calling in the superior program class, but that breaks the principle of single responsibility. So how are such things usually implemented?