Add has_one_through method