Where implement detailed NPC Functionality in Components or BT Tasks?

Where is the best place to implement detailed NPC behaviour when using Behavioural trees and Task ?
Within the Blueprints, and Sub components of an NPC Actor, or within the Tasks (Called by Behaviour Trees) ?

I typically I like to encapsulate the detailed behaviours within as Evet threads within components, that I can then reuse amongst many NPC’s Actor Blueprints. I would like to use BTs, but Tasks need to end (Call Finish). If I encapsulate most of my functionality within Events of my NPC actor and its components, how do I call into these Events, from BT Tasks whilst ensuring that I have a return completion thread in order to then continue to call Finish ?

Another query is that I originally perceived an AI Blackboard to be a repository to be used amongst many AI Actors. e.g the Strategic state of the game (Defensive, Aggressive, Losing etc) But the Unreal use of Blackboards seems to be tied against a Behavioural Tree, and upon an instance basis. E.g to hold data specific to that NPC instance.

In the blackboard once you select a variable, in blackboard details you can select “Instanced Synced” => this will share the variable between all characters that implement the blackboard in their trees.