adding another simplified rule engine engine using boost.type_erasure