Add support for abstract channel transformation functions
Fix a bug in DataVariable