CDB-4232 Change the 'coordinates' of the input to a more natural order (following UI)
CDB-4232 s/:freetext/:text/g for simplicity's sake
CDB-4232 Add an abstract class and a factory