Outcome Oriented Programming Concepts