Move asset creation logic to new controller