external atom Display id "device:display"; type Request=record {url:string;text:string;version:int32;}; interface Device id "device" revision "device@1" { static operation create id "device:create" : string -> atom-ref {call id "device:create:call" execution transaction;} queryable value enabled id "device:enabled" : bool {get id "device:enabled:get" execution snapshot;set id "device:enabled:set" execution transaction;} queryable value requested id "device:requested" : Request {get id "device:requested:get" execution snapshot;} queryable value observed id "device:observed" : optional {get id "device:observed:get" execution snapshot;} operation requestText id "device:request" : string -> unit {call id "device:request:call" execution transaction;} operation recordObservation id "device:record" : Request -> unit {call id "device:record:call" execution transaction;} operation remove id "device:remove" : unit -> unit {call id "device:remove:call" execution transaction;} }