restructured FunctionSpace __init__ logic