initial commit of improved visibility methods
various improvements in visibility methods, pass tests
fire now supports a function as the first argument to make a safe sync calls
improve visibility methods, fix specs
fix bug in visibility methods, clean up specs