To make this calls smaller and better readable we should integrate a method like on `ProposalObject`

```ruby
  def raw_attributes
    @raw_attributes ||= begin
      raw_data["attributes"][barclamp] || {}
    end
  end

  def pretty_attributes
    @pretty_attributes ||= begin
      Utils::ExtendedHash.new(
        raw_attributes.dup
      )
    end
  end
```

This can be saomething like this:

```ruby
  def create_proposal
    @proposal = ProposalObject.find_proposal("template", @bc_name)
    raise(I18n.t('model.service.template_missing', :name => @bc_name )) if prop.nil?

    @proposal.raw_data
  end

  def raw_attributes
    @raw_attributes ||= begin
      prop = ProposalObject.find_proposal("template", @bc_name)
      prop.raw_data["attributes"][@bc_name] || {}
    end
  end

  def pretty_attributes
    @pretty_attributes ||= begin
      Utils::ExtendedHash.new(
        raw_attributes
      )
    end
  end
```

Than you can simply call `pretty_attributes.database_instance = find_dep_proposal("database")` or something like that. Maybe we can choose a better naming of course :).