Self Aware Apps