Add decorator interface and minor fixes