fixed visbility of statics and methods according to 3.1 rules / conventions

NOTE: this will fix the module for 3.1 but will break 3.0 support

I advise creating a new branch "3.0.x" before merging this pull request.