anchor.diff:              "get"       -> ui_get_values(Params);
               "set"       -> ui_set_value(Params);
               "link"      -> ui_link_blocks(Params);
  +            "add"       -> ui_add_attrib(Params);
  +            "remove"    -> ui_remove_attrib(Params);
               "status"    -> ui_status(Params);
               "types"     -> ui_block_types(Params);
               "load"      -> ui_load_blocks(Params);
  
positive.code: 
  % Process block delete command
   ui_delete_block(Params) ->
      case validate_block_name(Params) of
          error     -> ok;  % Params was not a block name
          BlockName ->
              % TODO: Ask the user if they really want to delete
              block_server:delete(BlockName),
              block_utils:sleep(1000),
              case block_supervisor:delete_block(BlockName) of
  
negative.code:             
          _ -> io:format("Error: Too many parameters~n")
      end.
      
  % Clean block values of Output and Private values
  % To make the block values suitable for saving to a file 
  
  clean_block_values({BlockName, BlockModule, Config, Inputs, Outputs, Private}) ->
          
      % Set all output values to 'not_active' and delete any block link references
      CleanOutput = fun({ValueName, _Value, _LinkedBlocks}) ->
                        {ValueName, not_active, []} end,
                      
      NewOutputs = lists:map(CleanOutput, Outputs),
        
      % Set all private values to 'empty'  
      CleanPrivateVal = fun({ValueName, _Value}) ->
                            {ValueName, empty} end,
                                              
      NewPrivate = lists:map(CleanPrivateVal, Private),
      
      % Cleaned block values
      {BlockName, BlockModule, Config, Inputs, NewOutputs, NewPrivate}.    
  
  
  
  % Process the help command
  