Controller implementations is used to build Key-Value dictionary for selected language at runtime.
For example, Text Controller builds Texts values from provided Key Collection and Text Collections, allows to add or override custom text values and subscribe for value update callbacks that is invoked whenever the language or the value itself are changed.
You can define your own custom Controller class by implementing IKnotController interface or deriving from KnotController class. After that you are able to select it in Database Editor Settings.
Note
Custom class should have no constructor or at least one public constructor without arguments.
Warning
If you decide to remove, change the name, namespace or assembly of custom class you will get serialization error and possibly lose data. As a temporary solution, add [MovedFrom] attribute to your class before making those changes.