```ruby
module Ardes
  # Just like ResponsesModule, but also handles the :except, :only stuff
  module RcResponsesModule
    include Ardes::ResponsesModule
    include Ardes::ResourcesController::IncludeActions
    
    # as well as undefing an exlcuded action from the dup mixin, we
    # also remove it's response
    def remove_action(action)
      undef_method action
      remove_response_for action
    end    
  end
end```

Make sure we dup our action_responses when the module is dup'd
user
```ruby
module Ardes
  # Just like ResponsesModule, but also handles the :except, :only options
  module RcResponsesModule
    include Ardes::ResourcesController::IncludeActions
    
    def self.extended(mixin)
      mixin.extend Ardes::ResponsesModule
    end
    
    # as well as undefing an exlcuded action from the dup mixin, we
    # also remove its response
    def remove_action_method(action)
      undef_method action
      remove_response_for action
    end
    
    # when we dup, we need to copy our action_responses
    def dup
      returning super do |mixin|
        mixin.instance_variable_set('@action_responses', action_responses.dup)
      end
    end    
  end
end```
assistant