Create custom objects "Type" with attributes

Hello

Is there anyway in C# to create a Rhino object type? By this I mean creating any geometry whether a curve, polyline, box, sphere etc. that has a “Type” attribute, in this case just a preset attribute that is inherent in it’s creation. This is somewhat similar to Revit or any other BIM software wherein if I draw a geometry, it has a “Type” attribute such as a Wall, Floor, Window, Door etc.

Example:

Say I wanted a special Rhino object with a “Type” of “Site Boundary”. I want to somewhere in the rhino curve tools a “Site Boundary” icon that I click, wherein every curve I draw from this point until the end of the command has a type attribute named “Site Boundary”.

I’d add a user text in the UserDictionary property of your curve or other rhino geometries, at the end of your “site boundary” drawing command.