Index: uppsrc/CtrlLib/src.tpp/ToolBar$en-us.tpp
===================================================================
--- uppsrc/CtrlLib/src.tpp/ToolBar$en-us.tpp	(revision 3259)
+++ uppsrc/CtrlLib/src.tpp/ToolBar$en-us.tpp	(working copy)
@@ -40,8 +40,8 @@
 [s0; &]
 [ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
 [s3; &]
-[s5;:ToolBar`:`:Set`(Callback1`<Bar`&`>`): [@(0.0.255) void]_[* Set]([_^Callback1^ Callback
-1][@(0.0.255) <]Bar[@(0.0.255) `&>]_[*@3 bar])&]
+[s5;:ToolBar`:`:Set`(Callback1`<Bar`&`>`): [@(0.0.255) void]_[* Set]([_^topic`:`/`/Core`/src`/Callbacks`$en`-us`#Callback1`:`:class^ C
+allback1][@(0.0.255) <]Bar[@(0.0.255) `&>]_[*@3 bar])&]
 [s2;%% This method sets the new content to the ToolBar. Content should 
 always be provided as Bar routine `- items should never be Add 
 directly. You should call this each time status of any ToolBar 
@@ -49,8 +49,8 @@
 only items actually changed are repainted.&]
 [s3;%% &]
 [s4; &]
-[s5;:ToolBar`:`:Post`(Callback1`<Bar`&`>`): [@(0.0.255) void]_[* Post]([_^Callback1^ Callba
-ck1][@(0.0.255) <]Bar[@(0.0.255) `&>]_[*@3 bar])&]
+[s5;:ToolBar`:`:Post`(Callback1`<Bar`&`>`): [@(0.0.255) void]_[* Post]([_^topic`:`/`/Core`/src`/Callbacks`$en`-us`#Callback1`:`:class^ C
+allback1][@(0.0.255) <]Bar[@(0.0.255) `&>]_[*@3 bar])&]
 [s2;%% Deprecated `- do not use.&]
 [s3;%% &]
 [s4; &]
Index: uppsrc/Core/src.tpp/Callbacks$en-us.tpp
===================================================================
--- uppsrc/Core/src.tpp/Callbacks$en-us.tpp	(revision 3259)
+++ uppsrc/Core/src.tpp/Callbacks$en-us.tpp	(working copy)
@@ -26,43 +26,46 @@
 :: [s0;%- [*/@(128.0.255)1 parameters]]
 :: [s0;%- [*/@(128.0.255)1 arguments]]
 :: [s0;%- [*/@(128.0.255)1 return`_type]]
-::@2 [s0;%- [*C+75 Callback]]
+::@2 [s0;:Callback`:`:class:%- [*C+75 Callback]]
 :: [s0;%- [*/C@(0.0.255)+75 none]]
 :: [s0;%- [*/C@(0.0.255)+75 none]]
 :: [s0;%- [*/C+75 void]]
-:: [s0;%- [*C+75 Callback1]]
+:: [s0;:Callback1`:`:class:%- [*C+75 Callback1]]
 :: [s0;%- [*/C+75 class P1]]
 :: [s0;%- [*/C+75 P1]]
 :: [s0;%- [*/C+75 void]]
-:: [s0; [*C+75 Callback2]]
+:: [s0;:Callback2`:`:class: [*C+75 Callback2]]
 :: [s0; [*/C+75 class P1, class P2]]
 :: [s0; [*/C+75 P1, P2]]
 :: [s0; [*/C+75 void]]
-:: [s0; [*C+75 Callback3]]
+:: [s0;:Callback3`:`:class: [*C+75 Callback3]]
 :: [s0; [*/C+75 class P1, class P2, class P3]]
 :: [s0; [*/C+75 P1, P2, P3]]
 :: [s0; [*/C+75 void]]
-:: [s0; [*C+75 Callback4]]
+:: [s0;:Callback4`:`:class: [*C+75 Callback4]]
 :: [s0; [*/C+75 class P1, class P2, class P3, class P4]]
 :: [s0; [*/C+75 P1, P2, P3, P4]]
 :: [s0; [*/C+75 void]]
-:: [s0; [*C+75 Gate]]
+:: [s0;:Gate`:`:class: [*C+75 Gate]]
 :: [s0; [*/C@(0.0.255)+75 none]]
 :: [s0; [*/C@(0.0.255)+75 none]]
 :: [s0; [*/C+75 bool]]
-:: [s0; [*C+75 Gate1]]
+:: [s0;:Gate1`:`:class: [*C+75 Gate1]]
 :: [s0; [*/C+75 class P1]]
 :: [s0; [*/C+75 P1]]
 :: [s0; [*/C+75 bool]]
-:: [s0; [*C+75 Gate2]]
+:: [s0;:Gate2`:`:class: [*C+75 Gate2]]
 :: [s0; [*/C+75 class P1, class P2]]
 :: [s0; [*/C+75 P1, P2]]
 :: [s0; [*/C+75 bool]]
-:: [s0; [*C+75 Gate3]]
+:: [s0;:Gate3`:`:class: [*C+75 Gate3]]
 :: [s0; [*/C+75 class P1, class P2, class P3]]
 :: [s0; [*/C+75 P1, P2, P3]]
+:: [s0; [*/C+75 bool]]
+:: [s0;:Gate4`:`:class: [*C+75 Gate4]]
+:: [s0; [*/C+75 class P1, class P2, class P3, class P4]]
+:: [s0; [*/C+75 P1, P2, P3, P4]]
 :: [s0; [*/C+75 bool]]}}&]
-[s3; &]
 [s0; &]
 [s0; `[ template_<[*/@(128.0.255) parameters]> `]&]
 [s0; [%- class_][*/@(128.0.255) CallbackType]&]
@@ -78,11 +81,12 @@
 Callback takes over its ownership.&]
 [s3; &]
 [s0; &]
-[s0;:`:`:Callback1`:`:Callback1`(`):%- [%%*/@(128.0.255) CallbackType]()&]
+[s0;:Callback1`:`:Callback1`(`):%- [%%*/@(128.0.255) CallbackType]()&]
 [s2; Creates an empty callback.&]
 [s3; &]
 [s4; &]
-[s0;%- [%%*/@(128.0.255) CallbackType](const_[%%*/@(128.0.255) CallbackType]`&_[*@3 c])&]
+[s0;:Callback1`:`:Callback1`(const Callback1`&`):%- [%%*/@(128.0.255) CallbackType](con
+st_[%%*/@(128.0.255) CallbackType]`&_[*@3 c])&]
 [s2; Copy constructor. &]
 [s7; [%-*C@3 c]-|Source callback.&]
 [s3; &]
@@ -122,34 +126,34 @@
 [s2; Same as the Execute method.&]
 [s3; &]
 [s0; &]
-[s0;%- `[ template_<[*/@(128.0.255) parameters]> `]&]
+[s0;:Callback1Action`:`:struct:%- `[ template_<[*/@(128.0.255) parameters]> 
+`]&]
 [s0;%- struct_[*/@(128.0.255) CallbackType][* Action]&]
 [s2; This is the abstract base class for callback action implementations. 
 Callback holds reference counted pointer to instance of class 
 derived from this class.&]
 [s3; &]
 [s0; &]
-[s0;:`:`:Callback4Action`:`:Callback4Action`(`):%- [*/@(128.0.255) CallbackType][* Action
-]()&]
+[s0;:Callback1Action`:`:Callback1Action`(`):%- [*/@(128.0.255) CallbackType][* Action]()&]
 [s2; Constructor. Assigns 1 to the reference count.&]
 [s3; &]
 [s4; &]
-[s0;:`:`:Callback4Action`:`:`~Callback4Action`(`):%- `~[*/@(128.0.255) CallbackType][* Ac
-tion]()&]
+[s0;:Callback1Action`:`:`~Callback1Action`(`):%- `~[*/@(128.0.255) CallbackType][* Action
+]()&]
 [s2; Virtual destructor.&]
 [s3; &]
 [s4; &]
-[s0;:`:`:Callback4Action`:`:Execute`(P1`,P2`,P3`,P4`):%- virtual 
-[%%*/@(128.0.255) return`_type]_[* Execute]([*/@(128.0.255) arguments])_`=_[@3 0]&]
+[s0;:Callback1Action`:`:Execute`(P1`):%- virtual [%%*/@(128.0.255) return`_type]_[* Execu
+te]([*/@(128.0.255) arguments])_`=_[@3 0]&]
 [s2; Performs the action with specified set of arguments.&]
 [s3; &]
 [s4; &]
-[s0;%- virtual bool_[* IsValid]()_const&]
+[s0;:Callback1Action`:`:IsValid`(`)const:%- virtual bool_[* IsValid]()_const&]
 [s7; [*/ Return value]-|true if the Action is valid. Default implementation 
 returns true.&]
 [s3; &]
 [s4; &]
-[s0;%- Atomic_[* count]&]
+[s0;:Callback1Action`:`:count:%- Atomic_[* count]&]
 [s2; Member variable used as reference count.&]
 [s3; &]
 [s0;%- &]
@@ -204,7 +208,8 @@
 [s7; [*/ Return value]-|Created callback.&]
 [s3; &]
 [s4; &]
-[s0; `[ template_<[*/@(128.0.255) parameters]> `]&]
+[s0;:Proxy`(Callback1`<P1`>`&`): `[ template_<[*/@(128.0.255) parameters]> 
+`]&]
 [s0;%- [*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >] 
 [* Proxy]([*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >]`&_[*@3 cb])&]
 [s2; Creates a Callback object that invokes another Callback object. 
@@ -217,7 +222,8 @@
 [s7; [*/ Return value]-|Created callback.&]
 [s3; &]
 [s4; &]
-[s0; `[ template_<[*/@(128.0.255) parameters]> `]&]
+[s0;:callback`(Callback1`<P1`>`,Callback1`<P1`>`): `[ template_<[*/@(128.0.255) paramet
+ers]> `]&]
 [s0;%- [%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% > 
 ][* callback]([%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% > 
 ]_[*@3 cb1], [%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% > 
@@ -233,7 +239,8 @@
 [s7; [*/ Return value]-|Created callback.&]
 [s3; &]
 [s4; &]
-[s0; `[ template_<[*/@(128.0.255) parameters]> `]&]
+[s0;:operator`<`<`(Callback1`<P1`>`&`,Callback1`<P1`>`): `[ template_<[*/@(128.0.255) p
+arameters]> `]&]
 [s0;%- [%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >]`&_[* operator<<](
 [%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% > 
 ]`&_[*@3 a], [%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >]_[*@3 b])
@@ -353,8 +360,9 @@
 [s7; [*/ Return value]-|Created callback.&]
 [s3; &]
 [s4; &]
-[s0;%- template_<class_[*@4 T], class_[*@4 P]>&]
-[s0;%- Callback_[* callback1](Callback1<[*@4 P]>_[*@3 cb], [*@4 T]_[*@3 arg])&]
+[s0;:callback1`(Callback1`<P`>`,T`):%- template_<class_[*@4 T], class_[*@4 P]>&]
+[s0;:callback1`(Callback1`<P`>`,T`):%- Callback_[* callback1](Callback1<[*@4 P]>_[*@3 cb], 
+[*@4 T]_[*@3 arg])&]
 [s2; Combines a single`-parameter callback and an argument into a 
 no`-parameter callback.&]
 [s7; [%-*C@3 cb]-|Single`-parameter callback.&]
@@ -362,9 +370,10 @@
 [s7; [*/ Return value]-|Created callback.&]
 [s3; &]
 [s4; &]
-[s0;%- template_<class_[*@4 T], class_[*@4 P1], class_[*@4 P]>&]
-[s0;%- Callback1<[*@4 P1]>_[* callback1](Callback2<[*@4 P1], [*@4 P]>_[*@3 cb], 
-[*@4 T]_[*@3 arg])&]
+[s0;:callback1`(Callback2`<P1`,P`>`,T`):%- template_<class_[*@4 T], 
+class_[*@4 P1], class_[*@4 P]>&]
+[s0;:callback1`(Callback2`<P1`,P`>`,T`):%- Callback1<[*@4 P1]>_[* callback1](Callback2<[*@4 P
+1], [*@4 P]>_[*@3 cb], [*@4 T]_[*@3 arg])&]
 [s2; Combines a double`-parameter callback and an argument into a 
 single parameter callback.&]
 [s7; [%-*C@3 cb]-|Double`-parameter callback.&]
@@ -432,9 +441,10 @@
 [s7; [*/ Return value]-|Created callback.&]
 [s3; &]
 [s4; &]
-[s0;%- template_<class_[*@4 A], class_[*@4 B], class_[*@4 T1], class_[*@4 T2]>&]
-[s0;%- Callback_[* callback2](Callback2<[*@4 A], [*@4 B]>_[*@3 cb], [*@4 T1]_[*@3 arg1], 
-[*@4 T2]_[*@3 arg2])&]
+[s0;:callback2`(Callback2`<A`,B`>`,T1`,T2`):%- template_<class_[*@4 A], 
+class_[*@4 B], class_[*@4 T1], class_[*@4 T2]>&]
+[s0;:callback2`(Callback2`<A`,B`>`,T1`,T2`):%- Callback_[* callback2](Callback2<[*@4 A], 
+[*@4 B]>_[*@3 cb], [*@4 T1]_[*@3 arg1], [*@4 T2]_[*@3 arg2])&]
 [s2; Combines a two`-parameter callback and two arguments into a 
 no`-parameter callback.&]
 [s7; [%-*C@3 cb]-|Two`-parameter callback.&]
