support user data for layer and maps (fix #18)