Implements the protocoles.
Some are "high level", and might not work yet. listFiles() is still missing, as we haven't discussed how to implement it.