def units
      @units ||= {}.tap do |u|
        UNIT_TYPES.each do |type|
          k = type.to_s.pluralize.to_sym
          u[k] = []

          next unless manifest
          next if manifest[k].nil?

          manifest[k].each { |v| u[k] << create_unit(type, attributes: v) }
        end
      end
    end
def units
      @units ||= {}.tap do |u|
        UNIT_TYPES.each do |type|
          k = type.to_s.pluralize.to_sym
          u[k] = []

          next unless manifest
          next if manifest[k].nil?

          manifest[k].each { |v| u[k] << create_unit(type, attributes: v) }
        end
      end
    end
Unit objects defined by the manifest and organized by type.
 @return [Hash] keys are pluralized unit types from {UNIT_TYPES}