Removed some overly aggressive use of const
Added an initialize method
Don't use any transformations if no projection is given