decospr: converted to use delegates + some cleanups. nw.