Got Direct.hpp to work
Renamed `operator()` back to `op` for ease of calling it on pointers
Gave Direct.hpp a constructor that takes references instead of pointers