Why userspace rather than writing kernel space modules?