The documentation seems to contradict.
First it says that all behaviour scripts must derive from MonoBehaviour. Then it says that in order to display variables in the inspector, "you need create a class that derives from System.Object". How is it possible to do both? Am I misunderstanding what a "behaviour script" is? I thought it was a script that you attach to a game object.