Added the ability to generate components from DataTransfer objects