Getting some strange compiler errors, asking for a code review

Hey all, so I’m trying to build myself a library to develop digital control interfaces for analog audio circuits, and I’m having a hell of time getting my sketch to compile.

All the code is here: current commit

I had this project working at an earlier commit: old commit

I have since refactored, and I’m really not sure what the problem is, and whether it’s Arduino or C++ related. Would really appreciate if someone took a peak and let me know what I’m doing wrong (:

Here is the error message:

/var/folders/sr/_dt_xpgs39qc8bfvk1v7wbnh0000gn/T//ccHKv9G2.ltrans0.ltrans.o: In function `getInstance':
sketch/State.cpp:5: undefined reference to `State::instance'
sketch/State.cpp:5: undefined reference to `State::instance'
sketch/State.cpp:5: undefined reference to `State::instance'
sketch/State.cpp:5: undefined reference to `State::instance'
/var/folders/sr/_dt_xpgs39qc8bfvk1v7wbnh0000gn/T//ccHKv9G2.ltrans0.ltrans.o: In function `__static_initialization_and_destruction_0':
/Users/jpjanigan-mills/Documents/GitHub/Arduino/CosmicArduinoAudioCircuitUtilities/CosmicAudioCircuitUtilities/CosmicAudioCircuitUtilities.ino:7: undefined reference to `State::instance'
/var/folders/sr/_dt_xpgs39qc8bfvk1v7wbnh0000gn/T//ccHKv9G2.ltrans0.ltrans.o:/Users/jpjanigan-mills/Documents/GitHub/Arduino/CosmicArduinoAudioCircuitUtilities/CosmicAudioCircuitUtilities/CosmicAudioCircuitUtilities.ino:7: more undefined references to `State::instance' follow
/var/folders/sr/_dt_xpgs39qc8bfvk1v7wbnh0000gn/T//ccHKv9G2.ltrans0.ltrans.o: In function `add':
sketch/LinkedList.h:36: undefined reference to `Node<LED*>::Node(LED*)'
sketch/LinkedList.h:43: undefined reference to `Node<LED*>::Node(LED*)'
sketch/LinkedList.h:49: undefined reference to `Node<LED*>::Node(LED*)'
sketch/LinkedList.h:36: undefined reference to `Node<PushButton*>::Node(PushButton*)'
sketch/LinkedList.h:43: undefined reference to `Node<PushButton*>::Node(PushButton*)'
sketch/LinkedList.h:49: undefined reference to `Node<PushButton*>::Node(PushButton*)'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino Nano.

These would indicate that I didn’t properly define those functions, right? But I did…? I’ve done some searching on this error, and I’m pretty sure I’ve used #include correctly, and I’ve also switched my board firmware to 1.6.21, which also came up as a possible issue. Unsure where to go from here.

Thanks for your help!