Improved Element's userData feature: getter is now a generic method; userData map will be only created if used first time