[minor] Emit events on the client side using .emit
[fix] Added missing free method to free to freelist
[major] migrate to diagnostics
[minor] add recursive pagelet detection