package org.skife.release; public abstract aspect Release { abstract pointcut monitored(); Object around() : monitored() { Object real = proceed(); Object proxy = ReleaseManager.instance().register(real); return proxy; } }