I've taken a brief look at NetWire but it is indeed hard to figure out. Can you explain the functionality of some form of switching that you know? Then I can try to implement it and see how hard it is.