Follow the tracks of Code::Blocks svn9181 ( create an abstract class with will handle all UI related calls made from the ProjectManager )