implemented variable property support (callbacks, user data)