title: Passing separate arguments or whole object to a function
body: <p>I have function that renders some templates and I want to have <code>user_id</code> and <code>channel_id</code> to be in a context each time I call it. </p>
  
  <p>Is it a good practice to pass whole <code>action</code> object to a function or I should pass individual argument to context like <code>render_add_screen({'user_id': action.user.id, 'channel_id': action.channel.id})</code>? Is it worth bounding <code>render_add_screen</code> function to <code>action</code> object?</p>
  
  <pre><code>@action_callback('help_monitor_controls')
  def do_monitor_controls_action(action):
      if action.action_value == 'add':
          return render_add_screen(action)
  
  
  def render_add_screen(action=None, context=None):
      if not context:
          context = {}
  
      if action:
          context['user_id'] = action.user.id
          context['channel_id'] = action.channel.id
  
      return combine(
          render_text('screens/add/text.html', context),
          render_attachments('screens/add/select_item.json', context)
      )
  </code></pre>