boilerplate readyCallback doesn't need to be in closure
begin implementing attribute publishing