def create(view_or_constant, style = nil, opts = {}, &block)
      # TODO, refactor so that add_subview uses create, not backwards like it is now
      opts[:do_not_add] = true
      opts[:style] = style
      opts[:block] = block if block
      add_subview view_or_constant, opts
    end
def create(view_or_constant, style = nil, opts = {}, &block)
      # TODO, refactor so that add_subview uses create, not backwards like it is now
      opts[:do_not_add] = true
      opts[:style] = style
      opts[:block] = block if block
      add_subview view_or_constant, opts
    end
Creates a view then returns an rmq with that view in it. It does not add that
 view to the view tree (append does this). This is useful for stuff like creating
 table cells. You can use the rmq_did_create method, just like you do when you
 append a subview

 @return [RMQ] wrapping the view that was just create

 @example
   def tableView(table_view, cellForRowAtIndexPath: index_path)
     cell = tableView.dequeueReusableCellWithIdentifier(CELL_IDENTIFIER) || begin
       rmq.create(StoreCell, :store_cell, reuse_identifier: CELL_IDENTIFIER)
     end
   end

   class StoreCell < UITableViewCell
     def rmq_did_create(self_in_rmq)
       self_in_rmq.append(UILabel, :title_label)
     end
   end