205 decoupling learning material crud

Fixes #205
I was trying to match the 'cnumber' naming scheme used in other parts of the code, but some were 'cnumber' and some were 'container_number', so I just stuck with lmnumber.  I'll change it.