Fixed processing of input containing '!'
Cleanup
Added id property to task