Ruby trick: these two classes could be structs:

```ruby
class SashFinder
  def initialize(rule, action)
    @rule = rule
    @action = action
  end
end
# is equivalent to (plus getters and setters, which is fine):
class SashFinder < Struct.new(:rule, :action)
end
```