Invia SMS: Can aspect-oriented programming lead to more reliable software?