This is a generic button blueprint that sends out a "Player has interacted" type signal to an array of actor blueprints, and each one of those interpret that signal differently. For one light it may mean turn on/off, for another it may mean change light color, for another it mean move to a new position. The nifty thing is that you can have many instances of the same button blueprint in the level and they would all have different interfaces and do different things. Fun exercise and I learned a lot.
Here's the button blueprint. It contains no reference to any specific blueprints or actors. Sweet.