Added configurable white space detection

Also, made the callback signatures uniform
Removed the unique target requirement