delegate better than category, replace multi-inheritability in c plus plus