Using Smart Objects To Make Smart Reusable Assets