-@synthesize magnitude;
-
-// TODO: Should just be NSCoding? Or like a dictionary?
-+(Target*) unstringify: (NSString*) str withConfigList: (NSArray*) configs {
- NSArray* components = [str componentsSeparatedByString:@"~"];
- NSParameterAssert([components count]);
- NSString* typeTag = components[0];
- if([typeTag isEqualToString:@"key"])
- return [TargetKeyboard unstringifyImpl:components];
- if([typeTag isEqualToString:@"cfg"])
- return [TargetConfig unstringifyImpl:components withConfigList:configs];
- if([typeTag isEqualToString:@"mmove"])
- return [TargetMouseMove unstringifyImpl:components];
- if([typeTag isEqualToString:@"mbtn"])
- return [TargetMouseBtn unstringifyImpl:components];
- if([typeTag isEqualToString:@"mscroll"])
- return [TargetMouseScroll unstringifyImpl:components];
- if([typeTag isEqualToString:@"mtoggle"])
- return [TargetToggleMouseScope unstringifyImpl:components];
-
- NSParameterAssert(NO);
- return NULL;