Generate fields onthe fly for task manager

Hello, I'm trying to create a task manager , for accounting firm, they have a series of regular tasks they need to be able to control , research old records,etc... The problem is that all of these tasks have a common set of fields ,the problem is that some of them have some specific fiels (most of them just text fields). Has anyone developed a similar system and/or can give some hints on how I can alow the user to generate these feilds on the fly ?

Tanks in advance