Fix for #193

 - turned `CustomError` class into a trait
 - added `CustomizeError` trait (handy when modifying existing error objects)