Minor fix.

Signed-off-by: Kristian Duske <kristian.duske@gmail.com>
Remove most shared pointers. Only use them to model shared ownership semantics, use raw pointers for everything else.

Signed-off-by: Kristian Duske <kristian.duske@gmail.com>
Selection

Signed-off-by: Kristian Duske <kristian.duske@gmail.com>
Minor optimizations.

Signed-off-by: Kristian Duske <kristian.duske@gmail.com>