Implemented JoinManager to avoid duplication of joins.