I need to develop an application where the which is very dependant on the
application being able to grow as new features, requirements etc are
released or introduced. That is the application once it detects that a new
feature is available, it acquires only that feature and glues it to the
current application. (The new version of icq seems to do this with its 'add
more features' option)

I would really appreciate it if you could tell me how this can be achieved.
i.e. what technologies and how are they used to enable an application to
grow with new features introduced, and how the "new feature" is able to glue
on to the main application? Can i do this with a java app?

Thanks in advance,

Tariq Ayad