Flex Solutions: Essential Techniques for Flex 2 and 3 Developers