What about Fusion. It works quite similarly to what you've wrote.