It seems it would be useful to have a System.Object variable in addition to the UnityEngine.Object variable.
I have a case where i'd like to handle some game data in an FSM ( within custom Actions ). While its easy to get around this by storing id's or indexes I feel it would be cleaner to directly store the data in question ( without having to inherit from UnityEngine.Object ).