I like how it works with your existing java code, so you dont have to rewrite everything. Its easy to use once its set up correctly. The documentation can be confusing when getting started or even when looking at other people's work in progress. You should try out different ways of doing things before just settling into one way that seems most logical. It was more difficult than expected to get all our components working together. We had some issues where we couldn't access certain resources from within another component without having their method call us back. This made adding new features tricky because they weren't always calling each others methods as needed.