improved property system. Moved editor code out of lib