An entity system based on Qt's metatype system and signal/slot communication