Can you add that this mimicks the standard principal object so it can be passed into the standard macros?