[TASK] Refactor to implement AssetInterface