namespace all the things
emit error events instead of throwing where possible