add some messages indicating what's going on with scales and etc when they change.
add some bounds checking on key array, allows empty array.