Explain Runnable vs Callable and thread-safe Singleton | Apple Interview Question