All fields on which the set method has been invoked are marked as changed no matter that the field content hasn't changed at all. Example:
// $post contains an array of fields => values which have same values with
// the values of the model e.g $model->name == $post['name']
$model = Jam::find('model', 1);
$model->set($post);
$model->changed('name'); // returns TRUE, but the expected behavior is FALSE
$model->name !== $post['name'] // returns FALSE which is correct