make a class for each relation type. a lot easier this way.
rename save to relate method. it should not save entities
(maybe except for HasJoin...)
add isLinked method.