public void Initialize()
        {
            IToolApplier ta = toolApplier.Object;

            tools = new Tools(() => ta, mousePositionProvider.Object, escape, activator);
            tools.RegisterTool(toolKeys1, tool1);
            tools.RegisterTool(toolKeys2, tool2);
        }
 public ToolOutcome Apply(IToolApplier toolApplier, ICollection <Vector> positions)
 {
     Contract.Requires(toolApplier != null);
     return(toolApplier.ApplyTool(this.ToolBehaviorName, this.ToolBehaviorModifier, this.ToolBrushName, positions));
 }