fix comments and documentation
fix 'declare' method failure

+ now 'declare' throws only string messages.
+ 'croak' will tell us, where 'declare' method was called.
allow to set use_cases order

+ you can set use_cases order by placing them into [] instead of {}