The passed listener will be called every time the sbt build changes, so I don't think the current approach works because the Future can only be completed once. I'm thinking that an event-listener approach may work better here. Let's have a chat on the whiteboard when you are around so I'll sketch and describe what I have in mind :)