To become competent and confident with MOM, we need to keep our focus at the high-level such as architectural trade-offs.
In contrast, when learning concurrency, java collections, java OO, or c++, we need to become conversant at a low level.
How about distributed cache? low and high level.