[core][asset] Refactored a bit to prepare hot-reload feature