I'm trying to do this right now, by taking lessons from Clojure and applying them in regular Java code. The result is something I'd never expect to see in Java, but makes for better and cleaner code. Stuff like:
schedule(this, "doStuffRegularly", 1000);
Which starts a thread that runs this.doStuffRegularly() every 10 seconds