This isn't safe (or any of the similar ones). The controller doesn't exist until Stage.RUNTIME and this resource can be read later in Stage.MODEL (e.g. in a later step in a composite op.)