Addressing feedback from code review

Fixing copyrights
Using @link in description
Hiding implementation in a private nested class
Fixing testing of runnables
Added testing of System, User, and Null contexts
Removing debug print