True, that is seems to be another possibility. So, no, I'm not sure anymore
edit: When you look at my first post you'll see that I presented the same idea. While looking closer at your code I'm not sure if you can call an action like that. But it should definatly work when you'd write function instead of action.