workspace RecurringTask id "workspace:recurring" revision "workspace:recurring@1" commit "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" { import interface Task; import package TaskRuntime; atom TaskObject id "recurring:task"; conform TaskObject as Task id "recurring:task:owner" { private state Occurrence id "recurring:state:occurrence" on TaskObject : uint64 policy register default 0; private state Due id "recurring:state:due" on TaskObject : int64 policy register; private state Title id "recurring:state:title" on TaskObject : string policy register; initialize { due to state Due; title to state Title; }; bind occurrence.get to state Occurrence.read; bind due.get to state Due.read; bind title.get to state Title.read; bind title.set to state Title.write; bind complete.call to package TaskRuntime.complete with { occurrence to state Occurrence; due to state Due; }; } }