GUI and PumpPlus rework
Probably, this commit has some bugs yet.
Server and Client syncing is very difficult... :(
Add PumpPlus GUI, but it's not full.
Abstract class is very useful, but I don't like to have too many classes