WallObject completely refactored