'target' in transition may be callable

it is useful when FSMKeyField is in use
also, using instance.__setattr__ instead of instace.__dict__ in FSMKeyField().set_state()