Refactored name of Blueprint.object to Blueprint.construct which is more
natural as we do construct objects using classes as blueprint.
Added documentation
Do blueprint static attributes of classes. Setting static fields could
change values in normal instances of these classes, so we do not do
this.