Remove some unused imports from lib/galaxy/tools/__init__.py.
More PEP-8 style tweaks to lib/galaxy/tools/__init__.py.
Small simplifications to lib/galaxy/tools/__init__.py.
Remove broken method fix_integrated_tool_panel_dict.
As of 5f6c670 (Jan 10, 2014) this does nothing (``if section_value is None`` followed by ``if isinstance( section_value, Tool ):``) and nobody seemed to notice - so I assume it is unneeded. If still needed - someone needs to fix it :).
Slightly rework lib/galaxy/workflow/modules.py for readability.
Rework toolbox 'fix' tool tags when multiple configs are loaded.
Looks like the tool tag stuff still assumed there was just one config file - that said toolbox doesn't have a self.sa_session so I think tool tags are broken and have been for some time.
Refactor tool tag handling out of toolbox.
Pretty sure this had been broken (toolbox didn't have a self.sa_session). Anyway - this probably didn't fix that but at least now the big read tool tag loop is more readable (cyclomatic complexity of that method down from 18 to 12).
Tweak completely broken DataTransfer._execute_workflow to respect toolbox abstraction.
Least of the brokeness at this point I suppose - but I would like to not expose tools_by_id external to the Toolbox.
Start decoupling Toolbox elements from XML (sections+labels).
Just a small tweak and some tests to verify these things can indeed be created from dictionaries. Also slightly simplifies galaxy.tools.
Add comment to auto-generated integrated_tool_panel.xml.

Someone more familiar with integrated_tool_panel.xml should feel free to make this comment sharper - but something is better nothing I think.
Simplify toolbox.load_tool_tag_set method.

guid is taken as input but is always produced the same way from the same input, so just derive it inside the method instead.
Introduce ToolPanel abtraction.

There are some repeated operations on an odict in Toolbox that could be cleaned up (fewer lines of code, more readable) with new abstraction in place. Starting with __add_tool_to_tool_panel but will work its way to other methods in Toolbox eventually.

Abstraction reduces cyclomatic complexity of Toolbox.__add_tool_to_tool_panel from 23 down to 18.
Introduce new abstraction of tool lineages.

 - Don't force non-toolshed tools into the tool shed install database.
 - Abstract out dealing with the tool shed install database from toolbox, to potentially allow other tool lineages implementations.
Hide details of toolbox.tools_by_id from lib/tool_shed/util/tool_util.py.
Centralize abstraction for removing tools from toolbox.

Shield's toolbox.tools_by_id from lib/tool_shed/galaxy_install/tools/tool_panel_manager.py.
Abstractions for registering tools from outside toolbox.

Part of effort to further limit exposing tools_by_id directly outside Toolbox.
Introduce abstraction to prevent lib/galaxy/workflow/modules.py from needing tools_by_id.
Eliminate direct in/get checks against toolbox.tools_by_id - use get_tool or has_tool.
Eliminate walking over tools_by_id externally from toolbox.
Move more logic into ToolSectionElements, raising level abstraction in Toolbox.