Improve data-assignable

+ don't use .data but trigger jQuery events
+ Ensure 2 nodes can't be assigned with 2 different keys