A Formal Descriptive Theory Of Software-Based Creative Practice