Design Patterns Ruby

class Commander
  attr_accessor :command
  def initialize(command)
    @command = command
  end
  def on_button_push
    @command.execute if @command
  end
end
class YourCommand
  def execute
  end
end
save_button = Commander.new( YourCommand.new )