Two-way props! Yikes! That was a mess in the first version of Angular. I thought the consensus was that two-way props binding just opened the door to difficult to understand side-effect laden code.
Why? Instead of creating an event handler that changes a property you declare same thing as binding. Why this creates more issues than manual event handlers?
Two way props make for a nice demo, but are a nightmare to maintain.
The bindings in Gea work just like in JavaScript. Two-way if an object is passed, one-way if a primitive is passed. I think it's best to stick to the idioms of the underlying language.