Added assistant base class enabling assistants to access other assistants
Used new assistant structure to pass assistants as parameters (e.g. using the assistant manager) rather than creating them every time they are used