comms/BasicNode: separate out impl., use explicit template instantiations