It is possible to create arbitrary user data that can be attached to any object. This user data can then later be used at shading time by specific nodes with a user prefix. The convention used to store the user data can be found in different data types such as color and float. For example:
More examples of how to use these shaders can be found here.