Nex, сейчас так и сделано:
Interface IBehaviour
Method Awake:Void()
Method Start:Void()
Method Update:Void()
Method LateUpdate:Void()
Method Draw:Void()
End
Class MonkeyBehavior Extends Component Implements IBehaviour Abstract
Field enabled:Bool = True
Method Awake:Void()
End
Method Start:Void()
End
Method Update:Void()
End
Method LateUpdate:Void()
End
Method Draw:Void()
End
End
То есть мы имеем стандартную реализацию методов - пустышки, чтобы можно было переназначать только то, что требуется.
Вопрос как раз в том, чтобы не вызывать ВСЕ эти методы, а только при наличии переопределённых в коде юзера.