[api] avoid unnecessary re-creation of product objects
[api] add build state container in api
asd