Contracts calling other contracts - this will be commonplace, nobody doubts it. But the main problem is that this thing does not scale. It can process no more than 20-30 transactions per second before it stalls. Just for comparison Steem, with less than 20k active users, already needs 8-9 transactions per second.
According to well-informed people like Vlad we are at least 2 years away from a solution that may fix this. Or it may not - it's still subject of research.