Updates.  The layer functor may not be useful...  Need to figure out how to return instances of the layer functors function instead of the static one