I have spent over two years figuring out how to solve asynchronous operations in front-end development and provide a unified solution for UI, API loading, animations, state management, and so on. I discovered that it is possible by enhancing the core building blocks which are functions and variables and giving them lifecycles. The result is targets, which also provide unified interface for functions and variables making them equal citizens. Here is an updated version of the framework, available at https://github.com/livetrails/targetjs.