Introduced interfaces and weak connections to avoid retain cycles