Hey mate just picked up on a small type-O which might confuse those who are not familiar with WPF or the Widgets API. Within the get_widget_area() method, where your echoing out a message statement:
"You can register this area by calling new_widget_area("
Should be...
"You can register this area by calling create_widget_area("