Osng 480

This pull request contains the new plugin mechanism. 
re-assigning a method parameter is bad practice and can lead to confusion, bugs and other bad things. method parameters should always be final.