A class template is just a template for a class, it is not a real class yet. You need to specify the template parameters in order to extract a class from it, for example IEvent<int>. Therefore, you need to decide for what types of events you want the typedef to be, for example, for int:
typedef boost::function<void (IEventable&, IEvent<int>&)> behaviorRef;
, typedef , typedef . . sbi .