Created an abstract icon class
Added Icon class support and renamed some wrappers

Added tests for it as well