Added a new intermediary class to break a circular dependency that created memory leaks
removed obsolete dependencies