Start Surface implementation.
Add message to Error.
Code refactoring.