Reorganized code a bit and introduced presenters.