Best way to create tags under new EntryModel? As best I can tell entries have to be created, tags have to be created, a relationship created and then an update to the original entry. Is this correct or is there a simpler way to do this?

There is a similar question here which address how to create a tags but I feel like how to relate the new tag(s) to the entry could use some elaboration.
To relate the tags, all you'd have to do is feed the entry's tag field an array containing tag IDs.

So, after creating (or finding existing) tags, you should end up with an array with one or more tag IDs.

Then, if it's a new entry, you would do:

$myTagIds = array(1,2,3,4); // your tag IDs
$entry = new EntryModel();
$entry-&gt;setContentFromPost(array(
    // ...
    'tagFieldHandle' =&gt; $myTagIds,
));

craft()-&gt;entries-&gt;saveEntry($entry);