Engineering Functionality in Colloidal Nanomaterials