Added type hinting functionality
Separated namespace into 2 parts
Added static support